Closed
Bug 376728
Opened 18 years ago
Closed 17 years ago
Add WAI-ARIA attributes to chat output
Categories
(Other Applications :: ChatZilla, enhancement)
Other Applications
ChatZilla
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: Gijs, Assigned: Gijs)
References
(Blocks 1 open bug, )
Details
(Keywords: access, Whiteboard: [cz-0.9.79])
Attachments
(1 file, 3 obsolete files)
5.83 KB,
patch
|
aaronlev
:
review+
|
Details | Diff | Splinter Review |
As in summary. For more info, see the URL. This will help current and future Accessibility Tools cope properly with the act that the DOM we're generating is a region which changes frequently, and help them announce such changes in the correct way.
To test such markup, we can for a large part use FireVox, which already supports parts of WAI-ARIA. If we need currently unsupported parts, or feel WAI-ARIA doesn't suit our needs as a chat client, I think this would be a fair place to discuss this as well.
CC-ing Aaron Leventhal (a11y module owner) He'll most likely both have opinions on what we should and shouldn't do. I'm not going to be working on this right now (but I hope to do so in a few weeks!), but I'm filing it anyway so we can have useful discussions as-is. I'd like to CC Peter Thiessen, but I can't seem to find a bugzilla user for him...
Comment 1•18 years ago
|
||
Hi Gijs,
right, FireVox is great for testing WAI-ARIA live region DOM updates. Though, I don't know of any tool that automatically tests for WAI-ARIA compliance (maybe because its still a draft) but it might be a great grant project :)
Assignee | ||
Comment 2•18 years ago
|
||
Relevant newsgroup posts are in mozilla.dev.accessibility. Google groups URL:
http://groups.google.com/group/mozilla.dev.accessibility/browse_thread/thread/4d03c955867c09d8
Assignee | ||
Comment 3•17 years ago
|
||
This had been ticking me off for a while now, especially when trying to get the filters working. So let's do this first, as it's a stupid thing anyway.
Asking for a stamp from James...
(I haven't touched the munger stuff because it's in lib and I didn't want to mix that stuff)
Attachment #280365 -
Flags: review?(silver)
Updated•17 years ago
|
Attachment #280365 -
Flags: review?(silver) → review+
Assignee | ||
Comment 4•17 years ago
|
||
Comment on attachment 280365 [details] [diff] [review]
Change stupid xhtml namespace repetitiveness
Checking in mozilla/extensions/irc/xul/content/commands.js;
/cvsroot/mozilla/extensions/irc/xul/content/commands.js,v <-- commands.js
new revision: 1.128; previous revision: 1.127
done
Checking in mozilla/extensions/irc/xul/content/static.js;
/cvsroot/mozilla/extensions/irc/xul/content/static.js,v <-- static.js
new revision: 1.245; previous revision: 1.244
done
Attachment #280365 -
Attachment is obsolete: true
Assignee | ||
Comment 5•17 years ago
|
||
This patch adds the following stuff:
- role="wairole:log" and aaa:live="polite" on the html:table that contains all the messages. This means that WAI-ARIA-supporting-screenreaders will read out changes at a 'normal' non-interruptive rate (so if the user is typing or using menus, the announcements will wait until the screenreader is no longer speaking.
- aaa:live="assertive" and aaa:channel="notify" on the messages that are deemed "important". This means that even amongst other messages that come in earlier, this one will be read out first, and will interrupt other messages. Right now, important messages are messages that contain your name or things on the stalk list (modifiable through preferences and the /stalk and /unstalk commands. The message filters support would make this (even) more customizable.
- role="wairole:presentation" on the nested tables we insert in the chat output. In theory, this should improve screenreaders coping with the randomly inserted nested tables. I guess I might file a bug on changing this stuff in some way so it's a bit more screenreader friendly, though I'm not sure how we'd do that :-(.
- aaa:live="off" and aaa:live="additions removals text" on the userlist and the output window headers. This turns off automatic announcements for them, as we will announce them automatically in the channel anyway (ie, user joins/parts/nick changes/mode changes, as well as topic modifications). Why are we doing this, if it didn't announce anything before we told it about this stuff? Well, because this way users of configurable screenreaders would be able to explicitly turn on announcements if this was somehow important for them.
I also removed a random stray check for isImportant - which can never be true at that point, so it was dead code (found this when doing filters, and now it confused me again when adding stuff here, so I'm just removing it so it can do no more harm).
r? on silver for the ChatZilla approval, and on aaronlev to doublecheck my a11y rationales.
Attachment #281234 -
Flags: review?(silver)
Assignee | ||
Updated•17 years ago
|
Attachment #281234 -
Flags: review?(aaronleventhal)
Comment 6•17 years ago
|
||
1. Need to set xmlns:wairole where you set xmlns:aaa="http://www.w3.org/2005/07/aaa"
2. I don't think the important messages need to be assertive -- channel="notify" already take care of getting them spoken ahead of the other items
3. It seems that aaa:relevant="additions removals text" is set in two places (both in markup and JS)
Assignee | ||
Comment 7•17 years ago
|
||
This addresses Aaron's comments. About the 3rd point, however, some more nuance: the js part is about changing the headers (containing the topic in the channel, number of ops/halfops/voiced users/users, IRC URL), the XUL part is about the userlist tree. The headers don't really need the "relevant" attribute as we don't remove anything and the default is "additions text". In the userlist we *can* remove things in theory - in practice I bet RDF screws us three ways to Sunday before it works properly, but that's another bug... (working on it, working on it)
Attachment #281234 -
Attachment is obsolete: true
Attachment #281309 -
Flags: review?(silver)
Attachment #281234 -
Flags: review?(silver)
Attachment #281234 -
Flags: review?(aaronleventhal)
Assignee | ||
Updated•17 years ago
|
Attachment #281309 -
Flags: review?(aaronleventhal)
Updated•17 years ago
|
Attachment #281309 -
Flags: review?(aaronleventhal) → review+
Assignee | ||
Comment 8•17 years ago
|
||
I actually just realized that the message table should also have relevant="additions", as we remove the oldest items (past the pref-configured treshold) which we shouldn't want spoken.
Assignee | ||
Comment 9•17 years ago
|
||
(In reply to comment #8)
> I actually just realized that the message table should also have
> relevant="additions", as we remove the oldest items (past the pref-configured
> treshold) which we shouldn't want spoken.
>
Actually, the default is "additions text", apparently - which is good enough for us. So disregard the previous comment. :-)
Assignee | ||
Comment 10•17 years ago
|
||
We can do away with the wairole namespace and "wairole:" prefix for logs, as the spec has changed to that effect.
Comment 11•17 years ago
|
||
Comment on attachment 281309 [details] [diff] [review]
Patch w/ Aaron's comments addressed
>Index: mozilla/extensions/irc/xul/content/output-window.js
>+ // Turn off accessibility announcements: they're useless as all these
>+ // changes are in the "log" as well, normally.
>+ header["container"].setAttributeNS(ARIA_NS, "live", "off");
Are you doing this here because the output window is not running in XHTML, or because you want this to work with custom output windows which use the built-in JS?
Either way, I'd like the comment here to explain why it's here.
Otherwise, it looks good (assuming you got the accessibility stuff right, but that's not my job ;) ).
Attachment #281309 -
Flags: review?(silver) → review+
Comment 12•17 years ago
|
||
Comment on attachment 281309 [details] [diff] [review]
Patch w/ Aaron's comments addressed
Note that:
* "wairole:" is no longer necessary, so that should really be removed.
* aaa: is not necessary on HTML elements -- for those you can just use aria-[propertyname]
Comment 13•17 years ago
|
||
There's no officially released product which only works with the "old" style, right?
Assignee | ||
Comment 14•17 years ago
|
||
(In reply to comment #13)
> There's no officially released product which only works with the "old" style,
> right?
>
Not that I'm aware of.
Comment 15•17 years ago
|
||
Not well, for live region a11y we need Firefox 3.
Assignee | ||
Comment 16•17 years ago
|
||
Changing the a11y stuff Aaron mentioned. Re-requesting review for those bits. I'm assuming James' review is still good for this.
Attachment #281309 -
Attachment is obsolete: true
Attachment #286895 -
Flags: review?(aaronleventhal)
Comment 17•17 years ago
|
||
You assume right. :)
Updated•17 years ago
|
Attachment #286895 -
Flags: review?(aaronleventhal) → review+
Assignee | ||
Comment 18•17 years ago
|
||
Checking in mozilla/extensions/irc/xul/content/chatzilla.xul;
/cvsroot/mozilla/extensions/irc/xul/content/chatzilla.xul,v <-- chatzilla.xul
new revision: 1.69; previous revision: 1.68
done
Checking in mozilla/extensions/irc/xul/content/output-window.js;
/cvsroot/mozilla/extensions/irc/xul/content/output-window.js,v <-- output-window.js
new revision: 1.19; previous revision: 1.18
done
Checking in mozilla/extensions/irc/xul/content/static.js;
/cvsroot/mozilla/extensions/irc/xul/content/static.js,v <-- static.js
new revision: 1.246; previous revision: 1.245
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Whiteboard: [cz-0.9.79]
You need to log in
before you can comment on or make changes to this bug.
Description
•