When a link (generated by {{link-to}}
) is clicked/pressed, Ember loads the new route, but the link’s contents get re-read. This happens in both ChromeVox and VoiceOver+Safari (I am told that, by comparison, VoiceOver generally performs poorly in Firefox and Chrome).
Two proposed solutions per conversation with Ryan Florence (if I understand him correctly):
-
Update an aria-live’d element with a message indicating change of route/content
-
Find the top-most RouteView that was affected and trigger a strategic focus when…
.on('didInsertElement').observes('controller.model')
In any case, it seems that our Ember apps need to manage focus on state-change for the sake of accessibility. I would like to find a good pattern for this.
See: http://www.w3.org/TR/wai-aria/usage#managingfocus_header