Open DavidMacDonald opened 4 years ago
If I see this correctly it is a bug in the browser and screenreader and not a bug in the WCAG example, because aria-atomic should be false by default for role=log and therefore only the changed content should be output. The problem occurs only in Chrome and not in IE 11 and Firefox. Nevertheless it would be good to find a solution that works in all browsers and with all screen readers. I don't know if there is such a solution. If such a solution is found, it would make sense to document in the example that additional attributes (which are then inserted) are actually superfluous (according to the specification), but are used to avoid bugs.
It does this also with aria-live on it instead of role="log"
PS just tested in Firefox (latest build)
https://www.w3.org/WAI/WCAG21/working-examples/aria-role-log/chatlog.html
Every time a line is added it reads the entire conversation. Instead we want it to read just the new content that is added to the conversation.
In Jaws and NVDA when the user clicks send it says:
Hello
Hello Hi!
Hello Hi! Pleased to meet you.
Hello Hi! Pleased to meet you. We'll talk later, okay?
Hello Hi! Pleased to meet you. We'll talk later, okay? Bye!
I've tested adding aria-relevant="additions" or aria-atomic values to the container that has role="log" but that didn't solve it. It looks like we'll need to put the log on each new div 300ms before the text is inserted which could be a pain.