LGTM2 On Wed, May 10, 2023 at 5:50 PM Mike Taylor <miketa...@chromium.org> wrote:
> LGTM1 > On 5/9/23 6:15 PM, Di Zhang wrote: > > Yes, this change is flagged behind the feature KeyboardFocusableScrollers > (disabled by passing > `--disable-blink-features=KeyboardFocusableScrollers`). > > We have looped in aleventhal@ for similar accessibility concern. Aaron is > the one who implemented the Keyboard Focusable Scrollers feature on Gecko > years ago. > This feature (minus the "not contain any keyboard focusable children" rule) > has existed in Firefox for +18 years now without any issue. Since assistive > technology (for example screen readers) are using the same code for Firefox > and Chrome, this should be low risk. > > > I have a vague memory that "element is focusable" may be used in the tab > highlighting algorithm. It may be worth a quick check to ensure that this > doesn't cause highlights to show up when tapping on a scrollable region > that has no other tap highlight candidates. I can help point you at the > right code / people if desired. > Just to clarify, when you mention "tab highlighting algorithm", do you > mean showing the orange focus ring when on mobile devices? I just tried > with the feature on and off. In both cases, tapping doesn't show focus (no > focus ring). As for using tab navigation, I see the same behavior as on the > web. If feature is on, then an orange focus ring will show on the scroller. > If my understanding is wrong, please point me to the right code / people. > Thank you > > > > > On Monday, May 8, 2023 at 4:00:23 AM UTC-7 Rick Byers wrote: > >> Thanks Domenic, that's helpful and makes sense to me. It's perhaps >> whether this is a "web exposed" change or not. >> >> This sounds pretty safe to experiment with to me. Di please make sure >> behavior change is done behind a flag >> <https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md#When-is-a-flag-required> >> so we can 'kill switch' it if needed. >> >> Perhaps the biggest compatibility risk here is the impact on assistive >> technology use cases? That's not something I feel equipped to have any >> judgement around. Have you talked with anyone in the accessibility team >> about this? Do we have any data or anecdotes on sites setting tabindex:0 on >> scrollers? Perhaps if that's already somewhat common place then that could >> reduce any fear dramatically? >> >> I have a vague memory that "element is focusable" may be used in the tab >> highlighting algorithm. It may be worth a quick check to ensure that this >> doesn't cause highlights to show up when tapping on a scrollable region >> that has no other tap highlight candidates. I can help point you at the >> right code / people if desired. >> >> Rick >> >> On Mon, May 8, 2023 at 3:51 AM Domenic Denicola <dome...@chromium.org> >> wrote: >> >>> Speaking with my HTML Standard spec editor hat on, I think it's >>> appropriate for Chromium to ship this without spec changes, as Di explains. >>> >>> Indeed, I'd be skeptical of changing the spec here. It might be worth >>> opening an issue to discuss whether any changes are appropriate, but in >>> general the spec is intentional about allowing each browser to make >>> different choices on what it considers focusable, and in which ways things >>> are focusable. So I'd anticipate no changes resulting from such an issue. >>> >>> >>> On Tue, May 2, 2023 at 4:50 AM Di Zhang <dizha...@chromium.org> wrote: >>> >>>> Right - the spec leaves it up to the UA to determine what is a >>>> focusable area. All browsers treat this a bit differently, and have >>>> typically considered that behavior to be up to the browser. For example, >>>> Safari has a user setting that can change what types of elements become >>>> keyboard focusable. So I'm guessing there will be pushback to standardizing >>>> this behavior. However, this is also why we don't believe there's a need to >>>> change the spec for this I2S. >>>> >>>> Similarly, the written tests for this feature's changes are passing for >>>> Chrome, but not the other UAs. I have removed that check from this feature >>>> status and will update WPT accordingly. >>>> >>>> On Friday, April 28, 2023 at 7:08:37 AM UTC-7 Mike Taylor wrote: >>>> >>>>> On 4/27/23 5:28 PM, Di Zhang wrote: >>>>> >>>>> Contact emails h...@chromium.org, xiaoche...@chromium.org, >>>>> dizha...@chromium.org >>>>> >>>>> Explainer None >>>>> >>>>> Specification >>>>> None >>>>> >>>>> What's the reason for not having a spec? Is the idea that this is >>>>> covered by this definition of a "focusable area": "the element is >>>>> determined by the user agent to be focusable" >>>>> >>>>> If we have multi-vendor alignment, maybe we can be more explicit than >>>>> that? >>>>> >>>>> (https://html.spec.whatwg.org/#focusable-area) >>>>> >>>>> >>>>> Design docs None >>>>> >>>>> Summary >>>>> >>>>> Improves accessibility by making scroll containers focusable using >>>>> sequential focus navigation. Today, the tab key doesn't focus scrollers >>>>> unless tabIndex is explicitly set to 0 or more. By making scrollers >>>>> focusable by default, users who can't (or don't want to) use a mouse will >>>>> be able to focus clipped content using a keyboard's tab and arrow keys. >>>>> This behavior is enabled only if the scroller does not contain any >>>>> keyboard >>>>> focusable children. This logic is necessary so we don't cause regressions >>>>> for existing focusable elements that might exist within a scroller like a >>>>> <textarea>. >>>>> >>>>> >>>>> Blink component Blink>HTML>Focus >>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHTML%3EFocus> >>>>> >>>>> Search tags tab key <https://chromestatus.com/features#tags:tab%20key> >>>>> , keyboard focus >>>>> <https://chromestatus.com/features#tags:keyboard%20focus>, sequential >>>>> navigation >>>>> <https://chromestatus.com/features#tags:sequential%20navigation> >>>>> >>>>> TAG review None >>>>> >>>>> TAG review status Not applicable >>>>> >>>>> Risks >>>>> >>>>> >>>>> Interoperability and Compatibility >>>>> >>>>> This is a change in behavior, but already matches what Firefox is >>>>> doing (have scroller be focusable by default). Low compatibility risk >>>>> since >>>>> this default behavior is only enabled if the scroller doesn't have any >>>>> focusable children. >>>>> >>>>> >>>>> *Gecko*: Shipped/Shipping Chrome behavior is slightly different since >>>>> we are checking if any scroller child is focusable. This is to avoid >>>>> regression on existing focus sequences. >>>>> >>>>> *WebKit*: No signal (https://bugs.webkit.org/show_bug.cgi?id=190870) >>>>> >>>>> Could you request a signal at >>>>> https://github.com/WebKit/standards-positions? It's hard to know if >>>>> Ryosuke's comment is still valid since he made it. >>>>> >>>>> >>>>> *Web developers*: Positive ( >>>>> https://twitter.com/simevidas/status/1444033718742667270) >>>>> >>>>> *Other signals*: >>>>> >>>>> Ergonomics >>>>> >>>>> There are no other platform APIs this feature will be used in tandem >>>>> with. It will not be hard for Chrome to maintain good performance. >>>>> >>>>> >>>>> Activation >>>>> >>>>> It will not be challenging for developers to take advantage of this >>>>> feature immediately. >>>>> >>>>> >>>>> Security >>>>> >>>>> There are no security risks, this is a change for keyboard focusing >>>>> behavior. >>>>> >>>>> >>>>> WebView application risks >>>>> >>>>> Does this intent deprecate or change behavior of existing APIs, such >>>>> that it has potentially high risk for Android WebView-based applications? >>>>> >>>>> This is not high risk for WebView. >>>>> >>>>> >>>>> Debuggability >>>>> >>>>> This is a change to focus navigation and DevTools does not offer >>>>> debugging support for this behavior. >>>>> >>>>> >>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? Yes >>>>> >>>>> Is this feature fully tested by web-platform-tests >>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>> ? Yes >>>>> >>>>> Mind giving a link to the tests? >>>>> >>>>> >>>>> Flag name KeyboardFocusableScrollers >>>>> >>>>> Requires code in //chrome? False >>>>> >>>>> Tracking bug >>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1040141 >>>>> >>>>> Availability expectation Firefox already implements (a variant of >>>>> this). If we succeed and don't break websites, Safari is more likely to >>>>> follow suit. >>>>> >>>>> Adoption expectation This is a default behavior change and websites >>>>> don't need to make changes. >>>>> >>>>> Non-OSS dependencies >>>>> >>>>> Does the feature depend on any code or APIs outside the Chromium open >>>>> source repository and its open-source dependencies to function? >>>>> This feature does not depend on any APIs outside the chromium open >>>>> source repository. >>>>> >>>>> Estimated milestones >>>>> Shipping on desktop 114 >>>>> Shipping on Android 114 >>>>> Shipping on WebView 114 >>>>> >>>>> Anticipated spec changes >>>>> >>>>> Open questions about a feature may be a source of future web compat or >>>>> interop issues. Please list open issues (e.g. links to known github issues >>>>> in the project for the feature specification) whose resolution may >>>>> introduce web compat/interop risk (e.g., changing to naming or structure >>>>> of >>>>> the API in a non-backward-compatible way). >>>>> This change is not specced yet. If this succeed, we will try to get it >>>>> specced. >>>>> >>>>> Link to entry on the Chrome Platform Status >>>>> https://chromestatus.com/feature/5231964663578624 >>>>> >>>>> Links to previous Intent discussions >>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/Fku6784p0wI/m/3MyOMTk7BwAJ >>>>> >>>>> This intent message was generated by Chrome Platform Status >>>>> <https://chromestatus.com/>. >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "blink-dev" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to blink-dev+unsubscr...@chromium.org. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BSS7eBXci2n6rVdpLwWXgOmRrmkE%2BaxQGbq3dBwpmnyHOK9aA%40mail.gmail.com >>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BSS7eBXci2n6rVdpLwWXgOmRrmkE%2BaxQGbq3dBwpmnyHOK9aA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "blink-dev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to blink-dev+unsubscr...@chromium.org. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8e871d5b-f554-43df-92e7-f164a56972aan%40chromium.org >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8e871d5b-f554-43df-92e7-f164a56972aan%40chromium.org?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> >> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8dpmu3Dbykg%2BZ6e-Ka4r0r8kAiHAYmhU0WpGkEE%2B7Wzw%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8dpmu3Dbykg%2BZ6e-Ka4r0r8kAiHAYmhU0WpGkEE%2B7Wzw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/37e97d89-ebe6-5403-d303-1bedb2e89524%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/37e97d89-ebe6-5403-d303-1bedb2e89524%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYeJSTSpo9Me-fyG1wSpmft1VnOKFSVqWYpGRdq19mqXEQ%40mail.gmail.com.