-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Epub decorators are not accessible #352
Comments
The reason there is a Maybe this should be disabled when entering screen reader mode. Having the highlights work is probably more important than the links behind a highlight, in this particular case.
We opted for absolute positioning instead of inline decorations to prevent disrupting the publication’s DOM elements. If we inserted the decorations in the document directly, But maybe a compromise could be made for screen readers, what about using both:
|
FYI: I've added
There are 2 ways I know of interacting with elements with Talkover.
So ideally we would want to enable those two behaviors. The decorator should be focused before or after the text it refers to if users are swiping through the screen. But if decorators have a visible element they should be able to tap it as well. Bonus points if those 2 behaviors are enabled by the same element, because that would make it more consistent. I could tap a decorator to learn what it's about, and then swipe to the previous/next expected section of text, and not the previous/next decorator. Now I know that making it all consistent is a tall order. It would probably require some sort of CSS reset that would make the |
Before making any decision, I'd like to get input from accessibility UI experts and users of screen readers. Maybe the highlights should be accessible through a dedicated screen instead. And how can screen reader users highlight a portion of text in the first place? @gautierchomel Maybe you could help us with these discussions? |
Has there been any feedback on this issue? |
No feedback received yet. |
This feature has been recently implemented in Thorium, maybe @danielweck could chime in on how this was handled. |
In Thorium, inline text highlight and margin indicators are not accessible via the keyboard, and consequently to screen reader users. They are minimally interactive affordances, via pointing devices (mouse, trackpad, etc.) for hover and click (and click only via touch). |
@danielweck what about the creation of highlights/notes? |
Once a native DOM Selection / Range is created by the user inside a publication's XHTML document, the add/edit/remove UX is realised entirely inside the application's GUI, there are no affordances in the document's webview. Essentially, when the user hovers+clicks on an in-text highlight or a margin decoration, the event is dispatched to the application's shell which decides how to implement subsequent interactions. There is no visual co-location of the click site (highlight x/y coordinates) and of the editor panel. This works well in Thorium as there is a dedicated toolbar icon button which is used as the anchoring site for the GUI popout dialog. |
Bug Report
What happened?
Decorations on an Epub can't be found through the Android Talkback accessibility tool. This happens even if you directly tap them.
Expected behavior
When talkback is on, users should be able to tap a decoration on an epub to focus on it, if there's content or an action available inside the decorator. The decorations should also be focused on before or after the content they refer to when navigating through an epub with Talkback.
How to reproduce?
This is reproducible with the sample app provided:
Environment
Development environment
Testing device
Additional context
I'm able to tap to select decorations if I revert the
pointer-events: none
set in the decorator container. For example, running this javascript code after adding decorations:Nevertheless, all decorations are lumped together separately from the content, likely because they are positioned with
position: absolute
, but I'm not sure on that.The text was updated successfully, but these errors were encountered: