Re: PROPOSAL: Expressing WAI-ARIA in CSS

Hi,

Cascading Attribute Sheets don't fit my requirements for several reasons:

1.  I want one model for interpreting content meaning -- that is, I don't
want to query both CSS properties and XML attributes to deduce the meaning;
I just want to query CSS properties.

2.  I want the processing to be simple -- requiring attribute modification
for CAS to work is overly complex and would require querying the generated
WAI-ARIA properties to deduce the semantics.

3.  CAS appears to apply only to HTML -- I want something that is
applicable to any XML format (DocBook, NCX, OPF, ODF, ...).

4.  CAS does not mention anything about vendor-based CAS -- that is, CSS
has the notion of a default stylesheet for rendering content; I want
something similar to express the default WAI-ARIA/semantic nature of the
XML elements.

5.  I ideally want to specify everything in a single place (i.e. one file
per XML format) -- using both CAS and CSS would produce a lot of related
files. This gets complicated with things like HTML having namespaced and
unnamespaced variants and pulling in the svg and mathml content, but these
can be handled with @import and @namespace CSS at-rules; duplicating that
behaviour for the CAS rules (including ensuring they match up) will
increase the scope for bugs.

6.  Using CAS would require part of the WAI-ARIA spec to be implemented as
CSS (e.g. for aria-hidden) and some as CAS. This gets harder to maintain
when you have WAI-ARIA properties that need both.

Thanks,
- Reece

On 13 January 2013 23:23, capi etheriel <barraponto@gmail.com> wrote:

> You will find Cascading Attribute Sheets useful, I guess.
>
> http://www.webmonkey.com/2012/09/like-css-wrap-your-head-around-cascading-attribute-sheets/
>
>
> On Sat, Jan 12, 2013 at 5:41 PM, Reece Dunn <msclrhd@googlemail.com>wrote:
>
>> Hi,
>>
>> I am interested in being able to specify WAI-ARIA markup in CSS. For
>> example, in HTML:
>>
>>     h1, h2, h3, h4, h5, h6 { role: heading; }
>>     h1 { aria-level: 1; }
>>     ...
>>     h6 { aria-level: 6; }
>>     p { role: paragraph; }
>>     nav { role: navigation; }
>>
>> for DocBook:
>>
>>     title { role: heading; }
>>     section > title { aria-level: 1; }
>>     section > section > title { aria-level: 2; }
>>     ...
>>     para { role: paragraph; }
>>
>> and NCX (ePub 2.0 table of content file):
>>
>>     navLabel > text { role: heading; }
>>     navPoint > navLabel > text { aria-level: 1; }
>>     navPoint > navPoint > navLabel > text { aria-level: 2; }
>>     ...
>>
>> The aria properties should cover semantics not currently specifiable in
>> CSS; that is, I don't expect an aria-hidden property (as it is covered by
>> the |display: none;| and |visibility: hidden;| CSS properties).
>>
>> This also allows for WAI-ARIA attributes to be supported within this
>> framework as well:
>>
>>     [role] { role: attr(role); }
>>     [aria-level] { aria-level: attr(aria-level); }
>>
>> The motivation here is being able to specify the processing of xml files
>> using only CSS markup (specifically for a text-to-speech ebook reader)
>> within a unified XML processor. This makes it easier to support new file
>> formats and avoid repeating programming logic. That is, a table of contents
>> could be extracted by looking at |role: heading;| properties and using the
>> aria-level property as the table of content level.
>>
>> NOTE: I have not currently assessed how all WAI-ARIA properties could be
>> expressed as CSS, just role and aria-level which are neeeded for my
>> application.
>>
>> Thanks,
>>  - Reece
>>
>
>
>
> --
> Capi Etheriel
> Desenvolvedor e Designer para Web
> Comunidade Transparência Hacker
> http://barraponto.blog.br http://zerp.ly/barraponto
>

Received on Sunday, 13 January 2013 23:56:35 UTC