Re: Using ARIA to override semantics

On 21/03/11 5:51 PM, Jonas Sicking wrote:
> On Mon, Mar 21, 2011 at 1:46 PM, Steve Faulkner
> <faulkner.steve@gmail.com>  wrote:
>> thanks tab,
>>
>> that doesn't happen and agree it shouldn't happen.
>>
>> aren't the CSS hooks based on the tag/attribute names etc in the DOM?
> No. The specs defer to the host language and says things like:
>
> "The document language determines which elements are hyperlink source
> anchors" [1]
>
> and
>
> "What constitutes an enabled state, a disabled state, and a user
> interface element is language-dependent" [2]
>
> So if ARIA can be argued to be part of the host language, which I
> think is the case here since HTML5 explicitly supports ARIA, then we
> need to define if ARIA affects the elements such that they are
> considered links/enabled/etc in the relevant contexts.
>
> [1] http://www.w3.org/TR/CSS21/selector.html#link-pseudo-classes
> [2] http://www.w3.org/TR/css3-selectors/#enableddisabled

Good point.

Having helped implement ARIA in dojo widgets, in some jQuery UI, and in 
a browser itself, my advice is that ARIA should not affect these 
selector cases. The idea that ARIA only affects accessibility mapping is 
well scoped IMO. Once we break that seal I think we strain the web 
developer's mental workspace a little.

In a nutshell, I believe ARIA is something best applicable to JS+DOM+CSS 
cases that are already breaking the rules. If a web developer feels the 
need to roll their own widget, they probably want total control over 
said widget, and trying to make it play as part of the actual HTML 
widget system confounds things.

But I'd want to hear from web developers that are *currently* 
implementing ARIA in widget libraries. Do we have those nearby? (Steve, 
maybe you and Hans?)

Cheers,
David

>> you can have styles associated using the aria attribute names, but
>> that has nothing to do with their function only that they are
>> recognised bits in the DOM right?
> Correct.
>
>> so you can do
>> a[role] {
>> color : red ;
>> }
>>
>>
>> but that is no different from doing
>>
>> a[hreflang] {
>> color : blue ;
>> }
>>
>> the semantics of the attribute makes no difference right?
> Correct.
>
>> or is use of role/aria-* soemthing that should not be allowed?
> No, I don't see a reason to special-case these attributes here.
> Attribute selectors should work directly on the DOM, without reading
> any semantics into them. That makes for simpler and saner use as well
> as implementation.
>
> / Jonas
>

Received on Friday, 25 March 2011 19:16:18 UTC