You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On the Full Width composed modal, the dialog's body contains a large text-only table. Scrollbars appear to let this table be viewed; however, while a mouse user can easily click on the scrollbars, they cannot be activated by a keyboard user. In order to allow scrolling, the body of the dialog needs to be given a tabindex (tabindex="-1" is probably adequate) and have the initial focus set to it. This is also a problem where there are form inputs. The body gets the focus in this situation, but since the keyboard user is inside a form input, the up/down and space keys are eaten by the input; if users have dedicated pg up/down keys, they have a work around sev 2
One way to address this is to put a tabindex on the dialog body. Ideally this would only occur where scrollbars are detected (so as not to put another tabstop in all dialogs, and so as not to disrupt the usual item taking focus). There is a hasScrollingContent boolean in Carbon, that if set to true resolves this, but it must be set by the developer. If developers were dilligent in its use, this would solve a lot of use cases; however, where a user zooms up there content or increases their text spacing, they may have scrollbars even though a dialog did not contain them with default text size. So it would be ideal if the presence of scrollbars could be detected automatically and the tabindex only set then.
Finally, ideally this would not take focus on modal load, but leave the default item with focus (as described in the accessibilty's keyboard section); the body would be in the tab order, so could be tabbed to.
Originally outlined in #12727:
The text was updated successfully, but these errors were encountered: