fix: Improve VoiceOver experience when using Safari#10073
Conversation
Otherwise this only happens on focus and the first focus in Safari with VoiceOver fails to output anything.
The full aria context for rendered conns is only calculated on focus
Connection previews are maintained by toggling a class. Connectino reordering does not append element to be focused which fixes VoiceOver in Safari behaviour.
gonfunko
left a comment
There was a problem hiding this comment.
Thanks for this! I kicked the tires in Chromevox and NVDA and it seems OK there as well. I did notice Voiceover is now reading an incorrect count for the number of blocks in the flyout, but on net this is still a big improvement.
|
@gonfunko Good catch. I suspect this is because the rendered connections are present in the flyout and get included in the count now as they have roles. Probably fixable by having the role setting conditional on not being in a flyout, or ensuring that the block parent aria-owns its rendered connections (similar to icons). I won't have time to look at this until Monday, but happy for someone else to pick it up in the meantime. |
|
I'll merge this as-is for now and take a look at that myself. |
The basics
The details
Resolves
Fixes #10066
Proposed Changes
This PR consists of many small changes that combine to improve the VoiceOver in Safari experience:
Reason for Changes
Maintains the 'bring to the front' fix for blocks focused via keyboard and improves VoiceOver in Safari.
Test Coverage
Manual testing in Safari with VoiceOver. Existing tests still pass.
Documentation
None
Additional Information
This change would really benefit from testing with different screen readers on different browsers to ensure that are no regressions.