Replies: 1 comment 2 replies
-
Thanks for starting this discussion @kmcnaught! My current experimentation with using Chromevox with a basic version of roving tab index (not quite https://opensource.adobe.com/spectrum-web-components/tools/roving-tab-index/ but close) has mostly "just worked" (with a lot of caveats). At least with Chromevox, I haven't run into issues with screenreader shortcuts overriding keyboard navigation because. Is this something that you've observed? If so, it would be helpful to better understand what you tried so that I can look into it. For the long-term, I see screen reader support coming from completing two areas of work:
(1) is currently undergoing design, and (2) will go through some a design phase afterwards. I'm expecting that we will file a number of tasks for both areas of work that, together, should provide an MVP experience for screen reader output. I do have two WIP branches (one in the plugin and the other in core Blockly) which, together, demonstrate very basic screen reader support. I can provide instructions for how to use those locally if you're interested. Edit: I also want to add one thing: while the mechanisms for making screen reader support work with keyboard navigation seem straightforward (as does making the nodes read out the correct context), our understanding of this is in a much more basic place than the broader keyboard navigation. In practice, I expect that this means a path to even an MVP state will likely encounter a lot of unexpected problems. Post-MVP, I expect a lot of iteration on the screen reader experience (especially as it comes to readout context and less commonly used Blockly features that may not be covered initially). |
Beta Was this translation helpful? Give feedback.
-
This is a thread to discuss what is planned / pictured for screen reader integration. We are starting to look at fixing keyboard accessibility of various MakeCode divs, and want to be conscious of making design decisions that don't break anything for screen reader access, even though we imagine there will be a later pass to really nail screen reader access across the board.
Currently screen readers are in browse mode in the blockly workspace, which means their shortcuts override our keyboard navigation (this is not a surprise because we're not expecting screen reader support yet). But we'd like to understand more what direction you are planning to go in, so we can be consistent with it.
Are we planning for the
blocklyDiv
(or some child component of it) to haverole="application"
to support us in overriding screen reader defaults for right arrow? This would also protect us against issues with single-key shortcuts. But it means there's lots of behaviour you'd usually get 'for free' from a screenreader browsing a well-labelled DOM, that you'll then need to replicate by hand. I imagine if we went this way, we'd leaveblocklyWidgetDiv
,blocklyDropDownDiv
andblocklyTooltipDiv
as native elements and expect normal screen reader functionality there, is that right?Or is there a plan for some kind of shadow-DOM that a screen reader navigates?
Or do we expect a screen reader user to be able to use standard browse paradigms within the blockly workspace? If so, how does this play nicely with the current keyboard nav?
Or something else entirely? If the direction isn't known yet, do we know what options are under consideration?
I don't expect final answers yet, but would be great to understand the general expected direction.
@BenHenning because I think you might be looking at this kind of thing...
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions