Screen reader support implementation plan #673
BenHenning
started this conversation in
General
Replies: 2 comments 3 replies
-
|
I've had a very brief read and play. I just wanted to note a few small thoughts now, since I'll miss today's discussion. Generic "where am I? shortcut"
Customisable verbosity?
Moving unconstrained
Arrows in toolbox
|
Beta Was this translation helpful? Give feedback.
3 replies
-
|
Brain dump of thoughts from an initial play with this in MakeCode, primarily with VoiceOver but some NVDA. Ignoring issues due to setAttribute monkey patch:
I'll likely add to this comment with more notes as I continue to explore. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is replacing #185 since it's going to be describing multiple aspects of both how we're planning to approach screen reader integration, and why certain decisions are made (or the framework of thinking for unknowns/open problems).
Roadmap
Tentative roadmap (will be changed over time):
Fundamental approach & overview
Fundamentally, our principles for screen reader support are:
Staging
The current plan is to keep the vast majority of screen reader support in the keyboard navigation plugin, even if that involves monkeypatching, and to stage this support behind a programmatic flag. This specifically allows us to:
Note that this is considered 'phase 2' in the roadmap above.
Current status, open problems, and open questions
Current screen reader validation statuses: see RaspberryPiFoundation/blockly#9303.
Current experience (link to latest demo page: https://google.github.io/blockly-keyboard-experimentation/screenreader/ -- semi-automatically updated with changes):
Open questions that need deciding:
Main issues found (will be filed as official issues later):
Technical design considerations
Current considerations that are likely to influence the final design of this project include:
IFocusableNodeto mandate an ARIA role: in many cases, tab index, the ARIA role, and even other information needs to be established early. Screen readers rely on neighbors and descendant information when formulating their output, so this cannot be lazy loaded.Beta Was this translation helpful? Give feedback.
All reactions