diff --git a/apps/vr-tests/src/stories/DetailsList.stories.tsx b/apps/vr-tests/src/stories/DetailsList.stories.tsx
index 5851066f8d261..0cbea1f5e945e 100644
--- a/apps/vr-tests/src/stories/DetailsList.stories.tsx
+++ b/apps/vr-tests/src/stories/DetailsList.stories.tsx
@@ -7,7 +7,8 @@ import {
DetailsList,
DetailsListLayoutMode,
IColumn,
- CheckboxVisibility
+ CheckboxVisibility,
+ SelectionMode
} from 'office-ui-fabric-react';
const items = [
@@ -150,6 +151,16 @@ storiesOf('DetailsList', module)
isHeaderVisible={true}
/>
))
+ .addStory('Single Selection Mode', () => (
+
+ ))
.addStory('Grouped', () => (
{onRenderColumnHeaderTooltip(
{
@@ -245,9 +245,15 @@ export class DetailsHeaderBase extends BaseComponent,
- ariaLabelForSelectAllCheckbox && !this.props.onRenderColumnHeaderTooltip ? (
-
+ !this.props.onRenderColumnHeaderTooltip ? (
+ ariaLabelForSelectAllCheckbox && !isCheckboxHidden ? (
+
+ ) : ariaLabelForSelectionColumn && isCheckboxHidden ? (
+
+ ) : null
) : null
]
: null}
diff --git a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsHeader.test.tsx b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsHeader.test.tsx
index db0a581d34fd0..347cb447c0943 100644
--- a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsHeader.test.tsx
+++ b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsHeader.test.tsx
@@ -1,6 +1,6 @@
import * as React from 'react';
import { DetailsHeader } from './DetailsHeader';
-import { IDetailsHeader, IDropHintDetails } from './DetailsHeader.types';
+import { IDetailsHeader, IDropHintDetails, SelectAllVisibility } from './DetailsHeader.types';
import { DetailsListLayoutMode, IColumn, ColumnActionsMode } from './DetailsList.types';
import { Selection, SelectionMode } from '../../utilities/selection/index';
import { EventGroup } from '../../Utilities';
@@ -247,6 +247,19 @@ describe('DetailsHeader', () => {
expect(component.toJSON()).toMatchSnapshot();
});
+ it('can render a hidden select all checkbox in single selection mode', () => {
+ const component = renderer.create(
+
+ );
+ expect(component.toJSON()).toMatchSnapshot();
+ });
+
it('can resize columns', () => {
let lastResize = { size: -1, index: -1 };
diff --git a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.styles.ts b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.styles.ts
index 583b8adc7da25..13a281411c307 100644
--- a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.styles.ts
+++ b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.styles.ts
@@ -22,7 +22,7 @@ export const getStyles = (props: IDetailsRowCheckStyleProps): IDetailsRowCheckSt
root: [classNames.root, className],
check: [
- !canSelect && [classNames.isDisabled, { visibility: 'hidden' }],
+ !canSelect && classNames.isDisabled,
isHeader && classNames.isHeader,
getFocusStyle(theme),
theme.fonts.small,
diff --git a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.tsx b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.tsx
index 22dc1832b4826..89febd5b59042 100644
--- a/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.tsx
+++ b/packages/office-ui-fabric-react/src/components/DetailsList/DetailsRowCheck.tsx
@@ -46,7 +46,7 @@ const DetailsRowCheckBase = (props: IDetailsRowCheckProps) => {
compact
});
- return (
+ return canSelect ? (
{
>
+ ) : (
+
);
};
diff --git a/packages/office-ui-fabric-react/src/components/DetailsList/__snapshots__/DetailsHeader.test.tsx.snap b/packages/office-ui-fabric-react/src/components/DetailsList/__snapshots__/DetailsHeader.test.tsx.snap
index 1347b5f5aceb0..e362e35b5d97e 100644
--- a/packages/office-ui-fabric-react/src/components/DetailsList/__snapshots__/DetailsHeader.test.tsx.snap
+++ b/packages/office-ui-fabric-react/src/components/DetailsList/__snapshots__/DetailsHeader.test.tsx.snap
@@ -868,6 +868,776 @@ exports[`DetailsHeader can render 1`] = `
`;
+exports[`DetailsHeader can render a hidden select all checkbox in single selection mode 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
exports[`DetailsHeader renders accessible labels 1`] = `