commits
In modals and dialogs we'll generally only move focus to
the first target, if said target is marked with `[autofocus]`
otherwise we'll focus the dialog/modal element itself and
let the regular tab order kick in.
See: https://github.com/KittyGiraudel/a11y-dialog/blob/b7da40433682ee01798aa601c41c3ae8869e6719/a11y-dialog.js#L310-L314
When SVGElements are checked for visibility, they'll fail the check
since `offsetWidth` and `offsetHeight` aren't present on them. The
`clientWidth` and `clientHeight` properties may not be used as they
refer to the inset size of potentially hidden but scrollable elements.
Instead, we can only rely on the bounding check and add an exception for
hidden inputs.
See: https://github.com/focus-trap/tabbable/blob/b9c50fea90d392a409c8055001567c4b5d0cac54/src/index.js#L143-L161
In modals and dialogs we'll generally only move focus to
the first target, if said target is marked with `[autofocus]`
otherwise we'll focus the dialog/modal element itself and
let the regular tab order kick in.
See: https://github.com/KittyGiraudel/a11y-dialog/blob/b7da40433682ee01798aa601c41c3ae8869e6719/a11y-dialog.js#L310-L314
When SVGElements are checked for visibility, they'll fail the check
since `offsetWidth` and `offsetHeight` aren't present on them. The
`clientWidth` and `clientHeight` properties may not be used as they
refer to the inset size of potentially hidden but scrollable elements.
Instead, we can only rely on the bounding check and add an exception for
hidden inputs.
See: https://github.com/focus-trap/tabbable/blob/b9c50fea90d392a409c8055001567c4b5d0cac54/src/index.js#L143-L161