- From: Aaron M Leventhal <aleventh@us.ibm.com>
- Date: Wed, 5 Nov 2008 10:07:01 -0500
- To: Aaron M Leventhal <aleventh@us.ibm.com>
- Cc: jamie@jantrid.net, mick@kulgan.net, "wai-xtech@w3.org" <wai-xtech@w3.org>, wai-xtech-request@w3.org
- Message-ID: <OFF623EFD7.CE41D981-ON852574F8.005273F2-852574F8.00530AF6@us.ibm.com>
> On 11/5/2008 1:20 AM, James Teh wrote: > Hi all, > > It's probably too late to reconsider this now, but I'm curious nevertheless: > > Why was it decided to specify ARIA landmarks using ARIA roles? This does > not seem logical to me: > * The role of an element usually indicates its behaviour and how it > should be treated. > * Landmarks, on the other hand, provide structural information. They do > not indicate the behaviour of an element. For example, whether an > element is a navigation landmark does not affect how it should be > handled by an AT; it is just a way of easily finding the element. > * I think it would be more logical to specify landmarks in a separate > attribute. > * Landmarks are generally (always?) handled differently to normal roles > by ATs. This in itself indicates that role is perhaps not the best > representation. See also this bug: > https://bugzilla.mozilla.org/show_bug.cgi?id=459395 Two reasons that I remember: 1. Historical. The role attribute wasn't invented by WAI-PF. It was taken from XHTML, which used it originally only for landmarks. If we wanted to keep them separate we probably would have needed to have aria-widget= and put widget roles in there. If we try to say that role shouldn't accept the XHTML landmark roles that means we'd be trying to change someone else's spec, afaict. But, if enough people agree, perhaps we can argue that things have changed and try to make it happen. 2. There is the idea that something might effectively act as both a landmark and a widget. For example, a menubar is definitely a widget but the group considered it to be an effective landmark as well. No one wanted to make authors put redundant info, e.g. <div role="menubar" aria-landmark="menubar"> That said, I do agree it would be nice to keep things separate. There are several other ways of doing this that can be considered: 1. By putting a property on each role like "isLandmark". Do you have anything against this approach? The landmarks could thus be exposed to NVDA separately from widget roles. 2. By using HTML element names for the landmark feature, effectively removing landmark role usage from ARIA. IOW, use <article>Blah</article> instead of role="article". Generally I hear this belief from HTML 5 spec developers -- that role should not be used for landmarks at all -use the new elements like <article> instead. This was considered by PFWG but rejected, I think because WAI-ARIA is a farther in on the process to becoming a W3C recommendation. Pros: these elements haven't changed in years, are stable, and like the rest of HTML 5 you can start using it. There also isn't any major change required in browsers to use the new elements. Also, if browsers implement native keystrokes or behavior related to these elements it would be ok, whereas with ARIA we purposely prevent that from affecting browser behavior -- it only describes what's there. - Aaron
Received on Wednesday, 5 November 2008 15:08:06 UTC