Had screenreaders on my mind recently so did this while blocked on other stuff.
- role=“main” is nicer to implement than a “jump to content” href, because you can jump from anywhere.
- Suggested topics is also an important jump point that you should to be able to reach from anywhere in the topic, so give it role=“complementary”.
- In order to avoid a boatload of attributeBindings, I moved the root element of the suggested-topics component into the template. Also, autoformat their hbs files.
- Flag the modal root with aria-modal=true to avoid the screenreader accidentally escaping the modal. https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/ There’s no need to ever toggle the attribute to false, because we display:none the modal root when it’s closed. Except for maybe an iOS bug. I can’t test iOS VO, so going to wait for complaints.