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

Add a useConstrainedTabbing hook #27544

Merged
merged 4 commits into from
Dec 7, 2020
Merged

Conversation

youknowriad
Copy link
Contributor

Follow-up to #27502

This refactors the existing withConstrainedTabbing HoC as a React hook to avoid the extra wrapper.

This is the first of three or four a11y HoCs I'd like to refactor. The goal here is to be able to remove the PopoverWrapper component that is duplicated across three packages and reuse a single hook.

@youknowriad youknowriad added the [Type] New API New API to be used by plugin developers or package users. label Dec 7, 2020
@youknowriad youknowriad self-assigned this Dec 7, 2020
@github-actions
Copy link

github-actions bot commented Dec 7, 2020

Size Change: +20.6 kB (1%)

Total Size: 1.21 MB

Filename Size Change
build/a11y/index.js 1.14 kB +2 B (0%)
build/annotations/index.js 3.8 kB +4 B (0%)
build/autop/index.js 2.83 kB -1 B
build/block-directory/index.js 8.72 kB -2 B (0%)
build/block-editor/index.js 128 kB -17 B (0%)
build/block-library/index.js 149 kB +119 B (0%)
build/blocks/index.js 48.1 kB -3 B (0%)
build/components/index.js 172 kB -243 B (0%)
build/compose/index.js 10.1 kB +162 B (1%)
build/data/index.js 8.97 kB -10 B (0%)
build/date/index.js 31.8 kB +20.6 kB (64%) 🆘
build/deprecated/index.js 769 B +1 B
build/dom/index.js 4.95 kB -1 B
build/edit-navigation/index.js 11.1 kB -5 B (0%)
build/edit-post/index.js 306 kB +7 B (0%)
build/edit-site/index.js 24.7 kB +3 B (0%)
build/edit-widgets/index.js 26.3 kB -12 B (0%)
build/editor/index.js 43.6 kB -15 B (0%)
build/element/index.js 4.62 kB -3 B (0%)
build/format-library/index.js 6.74 kB +2 B (0%)
build/html-entities/index.js 622 B -1 B
build/keycodes/index.js 1.93 kB -1 B
build/list-reusable-blocks/index.js 3.1 kB +1 B
build/media-utils/index.js 5.31 kB -3 B (0%)
build/notices/index.js 1.82 kB -1 B
build/nux/index.js 3.42 kB -2 B (0%)
build/plugins/index.js 2.56 kB +1 B
build/primitives/index.js 1.43 kB +1 B
build/redux-routine/index.js 2.84 kB -1 B
build/reusable-blocks/index.js 2.92 kB -3 B (0%)
build/shortcode/index.js 1.69 kB +1 B
build/token-list/index.js 1.27 kB +1 B
build/url/index.js 2.84 kB -1 B
build/viewport/index.js 1.86 kB -2 B (0%)
build/wordcount/index.js 1.22 kB +1 B
ℹ️ View Unchanged
Filename Size Change
build/api-fetch/index.js 3.42 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/style-rtl.css 11.2 kB 0 B
build/block-editor/style.css 11.2 kB 0 B
build/block-library/editor-rtl.css 9.07 kB 0 B
build/block-library/editor.css 9.07 kB 0 B
build/block-library/style-rtl.css 8.34 kB 0 B
build/block-library/style.css 8.34 kB 0 B
build/block-library/theme-rtl.css 789 B 0 B
build/block-library/theme.css 790 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.3 kB 0 B
build/core-data/index.js 15.3 kB 0 B
build/data-controls/index.js 827 B 0 B
build/dom-ready/index.js 571 B 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/style-rtl.css 6.49 kB 0 B
build/edit-post/style.css 6.47 kB 0 B
build/edit-site/style-rtl.css 3.93 kB 0 B
build/edit-site/style.css 3.93 kB 0 B
build/edit-widgets/style-rtl.css 3.13 kB 0 B
build/edit-widgets/style.css 3.13 kB 0 B
build/editor/editor-styles-rtl.css 476 B 0 B
build/editor/editor-styles.css 478 B 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.84 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.27 kB 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/keyboard-shortcuts/index.js 2.54 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/priority-queue/index.js 789 B 0 B
build/rich-text/index.js 13.4 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/warning/index.js 1.14 kB 0 B

compressed-size-action

@ellatrix
Copy link
Member

ellatrix commented Dec 7, 2020

@youknowriad I have a PR for withFocusOutside: #27050.

@youknowriad
Copy link
Contributor Author

@ellatrix oups I missed this one, I created one here #27549 Let's see which one we should pick.

@youknowriad
Copy link
Contributor Author

Looks like the mobile tests are failing here. cc @ceyhun
I'm surprised the mobile components use withConstrainedTabbing at all :). not sure tabbing has any meaning on mobile.

@ceyhun
Copy link
Member

ceyhun commented Dec 7, 2020

Didn't see any issues in the android screen recordings and iOS is passing. Will restart the android one.

@youknowriad
Copy link
Contributor Author

In the last commit, I'm exposing an empty useConstrainedTabbing hook for mobile. I hope it fixes the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] New API New API to be used by plugin developers or package users.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants