-
Notifications
You must be signed in to change notification settings - Fork 6k
[web:a11y] add platform view role #44188
Conversation
50b5eed to
a5c42bd
Compare
a5c42bd to
9e88f5f
Compare
ditman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I hope this improves the navigation in most screen readers! (except for Safari)
| /// | ||
| /// ```html | ||
| /// <flt-platform-view slot="..."> | ||
| /// <flt-platform-view id="flt-platform-view-VIEW_ID" slot="..."> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| /// <flt-platform-view id="flt-platform-view-VIEW_ID" slot="..."> | |
| /// <flt-platform-view id="flt-pv-VIEW_ID" slot="..."> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! I initially named it "platform-view", but then found the slot name and decided to be consistent with that, but forgot to update the docs.
| void update() { | ||
| super.update(); | ||
|
|
||
| if (semanticsObject.isPlatformView) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we already had isPlatformView but it was never used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is used elsewhere to set proper pointer event handling, but that aspect is not handled by this role manager since the logic is applied to all roles.
| test('getPlatformViewSlotName', () { | ||
| expect(getPlatformViewSlotName(42), 'flt-pv-slot-42'); | ||
| }); | ||
|
|
||
| test('getPlatformViewDomId', () { | ||
| expect(getPlatformViewDomId(42), 'flt-pv-42'); | ||
| }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good Boy Scout! Thanks!
…sions) (#131785) Manual roll requested by [email protected] flutter/engine@9dae7b7...d6b962d 2023-08-02 [email protected] Revert "[Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture." (flutter/engine#44262) 2023-08-02 [email protected] Roll Skia from c6577d328585 to 6009cc6d7d80 (2 revisions) (flutter/engine#44264) 2023-08-02 [email protected] Roll ANGLE from 11cef17b53ac to d61a50c155bd (1 revision) (flutter/engine#44261) 2023-08-02 [email protected] Roll Skia from 1c0bba7c1053 to c6577d328585 (2 revisions) (flutter/engine#44260) 2023-08-02 [email protected] Roll Dart SDK from 8ff03ebf7eaa to afbaf4216fc8 (1 revision) (flutter/engine#44259) 2023-08-02 [email protected] Roll Fuchsia Mac SDK from 3JSF6hXLRdAK1wUN1... to Hx7ap5qcoqRIknnnG... (flutter/engine#44258) 2023-08-02 [email protected] Roll ANGLE from a21631c02e45 to 11cef17b53ac (1 revision) (flutter/engine#44256) 2023-08-02 [email protected] Roll Skia from 6807d8b8a9d3 to 1c0bba7c1053 (1 revision) (flutter/engine#44255) 2023-08-02 [email protected] Roll ANGLE from 5d4b3645d0dc to a21631c02e45 (1 revision) (flutter/engine#44252) 2023-08-02 [email protected] Roll Skia from 6087a5224c6f to 6807d8b8a9d3 (2 revisions) (flutter/engine#44250) 2023-08-02 [email protected] Roll Skia from 6cb888889ad8 to 6087a5224c6f (1 revision) (flutter/engine#44249) 2023-08-02 [email protected] [Impeller] Give a fixed timeout for acquireNextImageKHR. (flutter/engine#44241) 2023-08-02 [email protected] Roll Dart SDK from 7c03426705da to 8ff03ebf7eaa (2 revisions) (flutter/engine#44243) 2023-08-02 [email protected] Roll Skia from 4deae93198f9 to 6cb888889ad8 (1 revision) (flutter/engine#44240) 2023-08-01 [email protected] [canvaskit] Enable CanvasKit to compute tight SkPicture bounds (flutter/engine#43361) 2023-08-01 [email protected] Roll Dart SDK from 197fc0d7fea2 to 7c03426705da (2 revisions) (flutter/engine#44237) 2023-08-01 [email protected] [Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture. (flutter/engine#44087) 2023-08-01 [email protected] [web:a11y] add platform view role (flutter/engine#44188) 2023-08-01 [email protected] Roll Skia from 18cf818e044f to 4deae93198f9 (1 revision) (flutter/engine#44236) 2023-08-01 [email protected] Roll Skia from 58c031441cbb to 18cf818e044f (6 revisions) (flutter/engine#44234) 2023-08-01 [email protected] Roll Fuchsia Mac SDK from g0dgOL2IlZQJCK4El... to 3JSF6hXLRdAK1wUN1... (flutter/engine#44233) 2023-08-01 [email protected] Roll ANGLE from b53d99d87e6a to 5d4b3645d0dc (1 revision) (flutter/engine#44231) 2023-08-01 [email protected] Roll Fuchsia Linux SDK from lwCo6le6r0X-Srvx3... to KPSWBhOvG6piddBQG... (flutter/engine#44230) 2023-08-01 [email protected] Roll Skia from d53f7b880651 to 58c031441cbb (2 revisions) (flutter/engine#44229) 2023-08-01 [email protected] Remove extends JSTypedArray from JSUint8Array1 (flutter/engine#44175) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from lwCo6le6r0X- to KPSWBhOvG6pi fuchsia/sdk/core/mac-amd64 from g0dgOL2IlZQJ to Hx7ap5qcoqRI If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…sions) (flutter#131785) Manual roll requested by [email protected] flutter/engine@9dae7b7...d6b962d 2023-08-02 [email protected] Revert "[Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture." (flutter/engine#44262) 2023-08-02 [email protected] Roll Skia from c6577d328585 to 6009cc6d7d80 (2 revisions) (flutter/engine#44264) 2023-08-02 [email protected] Roll ANGLE from 11cef17b53ac to d61a50c155bd (1 revision) (flutter/engine#44261) 2023-08-02 [email protected] Roll Skia from 1c0bba7c1053 to c6577d328585 (2 revisions) (flutter/engine#44260) 2023-08-02 [email protected] Roll Dart SDK from 8ff03ebf7eaa to afbaf4216fc8 (1 revision) (flutter/engine#44259) 2023-08-02 [email protected] Roll Fuchsia Mac SDK from 3JSF6hXLRdAK1wUN1... to Hx7ap5qcoqRIknnnG... (flutter/engine#44258) 2023-08-02 [email protected] Roll ANGLE from a21631c02e45 to 11cef17b53ac (1 revision) (flutter/engine#44256) 2023-08-02 [email protected] Roll Skia from 6807d8b8a9d3 to 1c0bba7c1053 (1 revision) (flutter/engine#44255) 2023-08-02 [email protected] Roll ANGLE from 5d4b3645d0dc to a21631c02e45 (1 revision) (flutter/engine#44252) 2023-08-02 [email protected] Roll Skia from 6087a5224c6f to 6807d8b8a9d3 (2 revisions) (flutter/engine#44250) 2023-08-02 [email protected] Roll Skia from 6cb888889ad8 to 6087a5224c6f (1 revision) (flutter/engine#44249) 2023-08-02 [email protected] [Impeller] Give a fixed timeout for acquireNextImageKHR. (flutter/engine#44241) 2023-08-02 [email protected] Roll Dart SDK from 7c03426705da to 8ff03ebf7eaa (2 revisions) (flutter/engine#44243) 2023-08-02 [email protected] Roll Skia from 4deae93198f9 to 6cb888889ad8 (1 revision) (flutter/engine#44240) 2023-08-01 [email protected] [canvaskit] Enable CanvasKit to compute tight SkPicture bounds (flutter/engine#43361) 2023-08-01 [email protected] Roll Dart SDK from 197fc0d7fea2 to 7c03426705da (2 revisions) (flutter/engine#44237) 2023-08-01 [email protected] [Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture. (flutter/engine#44087) 2023-08-01 [email protected] [web:a11y] add platform view role (flutter/engine#44188) 2023-08-01 [email protected] Roll Skia from 18cf818e044f to 4deae93198f9 (1 revision) (flutter/engine#44236) 2023-08-01 [email protected] Roll Skia from 58c031441cbb to 18cf818e044f (6 revisions) (flutter/engine#44234) 2023-08-01 [email protected] Roll Fuchsia Mac SDK from g0dgOL2IlZQJCK4El... to 3JSF6hXLRdAK1wUN1... (flutter/engine#44233) 2023-08-01 [email protected] Roll ANGLE from b53d99d87e6a to 5d4b3645d0dc (1 revision) (flutter/engine#44231) 2023-08-01 [email protected] Roll Fuchsia Linux SDK from lwCo6le6r0X-Srvx3... to KPSWBhOvG6piddBQG... (flutter/engine#44230) 2023-08-01 [email protected] Roll Skia from d53f7b880651 to 58c031441cbb (2 revisions) (flutter/engine#44229) 2023-08-01 [email protected] Remove extends JSTypedArray from JSUint8Array1 (flutter/engine#44175) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from lwCo6le6r0X- to KPSWBhOvG6pi fuchsia/sdk/core/mac-amd64 from g0dgOL2IlZQJ to Hx7ap5qcoqRI If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Add `PlatformViewRoleManager`, the primary role manager for platform views. Currently, all it does is manager the `aria-owns` attribute that determines the screen reader traversal order of the platform view w.r.t. surrounding content. This is a partial fix for flutter/flutter#124765. While it does not address literally using the TAB key as a means for traversing widgets, it does address traversal via screen reader shortcuts.
Add
PlatformViewRoleManager, the primary role manager for platform views. Currently, all it does is manager thearia-ownsattribute that determines the screen reader traversal order of the platform view w.r.t. surrounding content.This is a partial fix for flutter/flutter#124765. While it does not address literally using the TAB key as a means for traversing widgets, it does address traversal via screen reader shortcuts.