Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(StructuredList): Accessibility refactor #8172

Merged
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6954ba0
fix(StructuredList): refactor instanceId
dakahn Mar 18, 2021
cb09d20
fix(StructuredList): convert to radio interaction, add focus state
dakahn Mar 23, 2021
1f46ed5
fix(StructuredList): hide radio input
dakahn Mar 23, 2021
f655b31
fix(StructuredList): remove label and tabIndex props on input
dakahn Mar 23, 2021
156cbc1
test(StructuredList): update tests, remove label tests
dakahn Mar 23, 2021
bd86cea
fix(StructuredList): style changes, add deprecation warning
dakahn Mar 24, 2021
909726a
fix(StructuredList): add context for row click handler
dakahn Mar 25, 2021
fb68deb
test(StructuredList): add specificity to classname testing
dakahn Mar 30, 2021
48ef999
fix(StructuredList): add clearer deprecation warning for defaultChecked
dakahn Mar 30, 2021
15310ad
Merge branch 'main' into 1937-improved-selection-a11y
dakahn Mar 30, 2021
fd90e92
fix(structuredList): updated style
andreancardona Mar 31, 2021
5af34a2
fix(structuredList): updated style again
andreancardona Mar 31, 2021
0487407
Merge branch 'main' of github.com:carbon-design-system/carbon into 19…
dakahn Apr 1, 2021
606c728
Update packages/react/src/components/StructuredList/StructuredList.js
dakahn Apr 1, 2021
c2184ea
Merge branch 'main' into 1937-improved-selection-a11y
dakahn Apr 1, 2021
2673889
fix(StructuredList): update render return to be in carbon style
dakahn Apr 1, 2021
7d835f4
Merge branch '1937-improved-selection-a11y' of github.com:dakahn/carb…
dakahn Apr 1, 2021
c151da7
Merge branch 'main' of github.com:carbon-design-system/carbon into 19…
dakahn Apr 6, 2021
84fa755
Merge branch 'main' of github.com:carbon-design-system/carbon into 19…
dakahn Apr 7, 2021
2cdf113
fix(StructuredList): move new work to /next
dakahn Apr 7, 2021
08ce487
fix(StructuredList): put changes behind feature flag
dakahn Apr 7, 2021
110e400
Merge branch 'main' of github.com:carbon-design-system/carbon into 19…
dakahn Apr 9, 2021
e6a9615
test(StructuredList): add old version tests
dakahn Apr 9, 2021
07eda0d
fix(StructuredList): update to Carbon naming convention
dakahn Apr 12, 2021
7770b66
test(StructuredList): update snapshots
dakahn Apr 12, 2021
12c3862
test(StructuredList): address merge conflicts
dakahn Apr 12, 2021
939bcfd
Merge branch 'main' of github.com:carbon-design-system/carbon into 19…
dakahn Apr 12, 2021
4d9c07c
Merge branch 'main' into 1937-improved-selection-a11y
dakahn Apr 13, 2021
182a935
Merge branch 'main' into 1937-improved-selection-a11y
andreancardona Apr 14, 2021
1789d5d
Merge branch 'main' into 1937-improved-selection-a11y
dakahn Apr 14, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,14 @@
.#{$prefix}--structured-list--selection .#{$prefix}--structured-list-th {
@include padding--data-structured-list;
}

.#{$prefix}--structured-list-input {
display: none;
@if feature-flag-enabled('enable-2021-release') {
.#{$prefix}--structured-list-row--focused-within {
@include focus-outline('outline');
}
} @else {
.#{$prefix}--structured-list-input {
display: none;
}
}

.#{$prefix}--structured-list {
Expand Down Expand Up @@ -62,10 +67,11 @@
cursor: inherit;
}

.#{$prefix}--structured-list-row:focus:not(.#{$prefix}--structured-list-row--header-row) {
@include focus-outline('outline');
@if not feature-flag-enabled('enable-2021-release') {
.#{$prefix}--structured-list-row:focus:not(.#{$prefix}--structured-list-row--header-row) {
@include focus-outline('outline');
}
}

.#{$prefix}--structured-list--selection
.#{$prefix}--structured-list-row:hover:not(.#{$prefix}--structured-list-row--header-row)
> .#{$prefix}--structured-list-td,
Expand All @@ -77,7 +83,11 @@
.#{$prefix}--structured-list--selection
.#{$prefix}--structured-list-row:hover:not(.#{$prefix}--structured-list-row--header-row)
> .#{$prefix}--structured-list-td {
border-top: 1px solid $ui-01;
@if feature-flag-enable('enabled-2021-release') {
border-top: 1px solid $ui-03;
} @else {
border-top: 1px solid $ui-01;
}
}

.#{$prefix}--structured-list-thead {
Expand Down Expand Up @@ -113,6 +123,10 @@
display: table-cell;
max-width: 36rem;
color: $text-02;
@if feature-flag-enabled('enable-2021-release') {
border-top: 1px solid $ui-03;
}

transition: color $duration--fast-02 motion(standard, productive);
}

Expand Down
145 changes: 6 additions & 139 deletions packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -5056,145 +5056,12 @@ Map {
},
},
},
"StructuredListWrapper" => Object {
"defaultProps": Object {
"ariaLabel": "Structured list section",
"selection": false,
},
"propTypes": Object {
"ariaLabel": Object {
"type": "string",
},
"border": [Function],
"children": Object {
"type": "node",
},
"className": Object {
"type": "string",
},
"selection": Object {
"type": "bool",
},
},
},
"StructuredListHead" => Object {
"propTypes": Object {
"children": Object {
"type": "node",
},
"className": Object {
"type": "string",
},
},
},
"StructuredListBody" => Object {
"defaultProps": Object {
"onKeyDown": [Function],
},
"propTypes": Object {
"children": Object {
"type": "node",
},
"className": Object {
"type": "string",
},
"head": Object {
"type": "bool",
},
"onKeyDown": Object {
"type": "func",
},
},
},
"StructuredListRow" => Object {
"defaultProps": Object {
"head": false,
"label": false,
"onKeyDown": [Function],
"tabIndex": 0,
},
"propTypes": Object {
"children": Object {
"type": "node",
},
"className": Object {
"type": "string",
},
"head": Object {
"type": "bool",
},
"label": Object {
"type": "bool",
},
"onKeyDown": Object {
"type": "func",
},
"tabIndex": Object {
"type": "number",
},
},
},
"StructuredListInput" => Object {
"defaultProps": Object {
"onChange": [Function],
"title": "title",
"value": "value",
},
"propTypes": Object {
"className": Object {
"type": "string",
},
"defaultChecked": Object {
"type": "bool",
},
"id": Object {
"type": "string",
},
"name": Object {
"type": "string",
},
"onChange": Object {
"type": "func",
},
"title": Object {
"type": "string",
},
"value": Object {
"args": Array [
Array [
Object {
"type": "string",
},
Object {
"type": "number",
},
],
],
"isRequired": true,
"type": "oneOfType",
},
},
},
"StructuredListCell" => Object {
"defaultProps": Object {
"head": false,
"noWrap": false,
},
"propTypes": Object {
"children": Object {
"type": "node",
},
"className": Object {
"type": "string",
},
"head": Object {
"type": "bool",
},
"noWrap": Object {
"type": "bool",
},
},
},
"StructuredListWrapper" => Object {},
"StructuredListHead" => Object {},
"StructuredListBody" => Object {},
"StructuredListRow" => Object {},
"StructuredListInput" => Object {},
"StructuredListCell" => Object {},
"Tab" => Object {
"defaultProps": Object {
"label": "provide a label",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
StructuredListBody,
StructuredListRow,
StructuredListCell,
} from '../StructuredList';
} from './StructuredList';
import { mount, shallow } from 'enzyme';
import { settings } from 'carbon-components';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,12 +300,3 @@ StructuredListCell.defaultProps = {
head: false,
noWrap: false,
};

export default {
StructuredListWrapper,
StructuredListHead,
StructuredListBody,
StructuredListRow,
StructuredListInput,
StructuredListCell,
};
66 changes: 65 additions & 1 deletion packages/react/src/components/StructuredList/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,70 @@
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import React from 'react';
import {
StructuredListWrapper as StructuredListWrapperNext,
StructuredListHead as StructuredListHeadNext,
StructuredListInput as StructuredListInputNext,
StructuredListBody as StructuredListBodyNext,
StructuredListRow as StructuredListRowNext,
StructuredListCell as StructuredListCellNext,
} from './next/StructuredList';
import {
StructuredListWrapper as StructuredListWrapperClassic,
StructuredListHead as StructuredListHeadClassic,
StructuredListInput as StructuredListInputClassic,
StructuredListBody as StructuredListBodyClassic,
StructuredListRow as StructuredListRowClassic,
StructuredListCell as StructuredListCellClassic,
} from './StructuredList';
import { useFeatureFlag } from '../FeatureFlags';

export function StructuredListWrapper(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListWrapperNext {...props} />;
}
return <StructuredListWrapperClassic {...props} />;
}

export function StructuredListHead(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListHeadNext {...props} />;
}
return <StructuredListHeadClassic {...props} />;
}
export function StructuredListInput(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListInputNext {...props} />;
}
return <StructuredListInputClassic {...props} />;
}

export function StructuredListBody(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListBodyNext {...props} />;
}
return <StructuredListBodyClassic {...props} />;
}

export function StructuredListRow(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListRowNext {...props} />;
}
return <StructuredListRowClassic {...props} />;
}

export function StructuredListCell(props) {
const enabled = useFeatureFlag('enable-2021-release');
if (enabled) {
return <StructuredListCellNext {...props} />;
}
return <StructuredListCellClassic {...props} />;
}

export * from './StructuredList.Skeleton';
export * from './StructuredList';
Loading