- From: James Craig <notifications@github.com>
- Date: Tue, 08 Sep 2020 17:34:46 -0700
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/762/689225812@github.com>
> Safari would need to determine click/sequential focusability of focusable elements based on ElementInternals role. "Safari would need to" may not be true. I see at least two options: 1. Safari _could_ (No opinion yet on whether it should) use the focusable state plus role as a way to determine whether elements appeared by default in the tab order, based on the existing platform keyboard behavior as modified by system and browser settings. - This would be an example of accessibility-related code (the role) resulting in changed behavior (follow-up "slippery slope" argument) - Ryosuke brought up an implementation concern (re: `firstResponder`) that achieving focus (even programmatic-only) would be incompatible with the `unfocusable` state. I'll let him explain that concern in further detail. - There's the interop risk that Safari would doing something different that other browsers. We already have this interop challenge with native controls like `<button>` but it's always been so. We'd be adding a _new_ interop problem here. 2. For custom elements, Safari could treat them like it does ARIA elements (E.g. `<div role="button" tabindex="0">`), where focusability and tab order is controlled by the focusable/unfocusable state (role ignored), and programmatic `.focus()` calls would be ignored on non-focusable elements. - The primary downside of option 2 is that this would formalize an API/behavior that ignores the platform convention of Mac/Safari, where users expect certain element types to be tab-focusable or not based on their user settings. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/webcomponents/issues/762#issuecomment-689225812
Received on Wednesday, 9 September 2020 00:34:59 UTC