@longdesc implemented as ARIA construct

Dear WAI-XTECH listees! Is this the right place to propose changes to 
ARIA?

I happen to be of the belief it would strengthen the case for @longdesc 
in HTML5 if it was demonstrated how one can do the same thing via ARIA. 
Perhaps, out of this debate, we could even agree to change ARIA to make 
it better suited for such a thing? 

Basically, the @longdesc use case can be described as "ability to place 
a link inside an image" - which is something that HTML4 allows, despite 
that it hasn't worked so well as intended. Thus ARIA has had every 
reason to include that opportunity in its role="img" model.  Let me 
present some examples showing the (lack of) possibilities, in ARIA today

Example 1 would not work, as the link (as well as the img with the @alt 
text!) would be hidden in ARIA supporting AT:

1:   <span role=img >
       <img id=a src=img longdesc=l alt=Txt />
       <a id=b href=l target=_blank >
       Link to long description.</a>
     </span>

Example 2a and 2b would not work, the only thing that would happen is 
that the text of the a element would be used as label/description text 
of the img - the link  would be inaccesible as a link:

2a: <span role=img aria-labelledby=a aria-describedby=b >
      <img id=a src=img longdesc=l alt=Txt />
      <a id=b href=l target=_blank >Link</a>
    </span>
2b: <span role=img aria-labelledby="a b" >
      <img id=a src=img longdesc=l alt=Txt />
      <a id=b href=l target=_blank >
      Link to long description.</a>
    </span>

Example 3 could work, perhaps, I'm not sure how aria-owns works: 

3:  <span role=img aria-labelledby="a" aria-owns="b" >
      <img id=a src=img longdesc=l alt=Txt />
    </span>
      <a id=b href=l target=_blank class=off-screen-display >
      Link to long description.</a>

Conclusion: As it stands ARIA has not been designed to cope with the 
@longdesc pattern - ARIA does not allow authors to place a link inside 
an element with role=img. I would suggest that ARIA is changed so that 
example 1 (or 2a/2b) somehow could be made to work. (Example 3 stands 
out as mor of a hack.) 

The change that is needed would involve making sure that it is possible 
to avoid that a link within a role="img" element is treated as 
presentational children. [*] It should also be possible to have the lin 
work even if it has display:none. (I have also previously suggested 
that rel="longdesc" (<a rel="longdesc" href="*"></a>) could be used to 
make clear that the link is a longdesc link, even when it is lacking 
link text.)

[*] http://www.w3.org/WAI.new/PF/aria/roles#childrenArePresentational 
-- 
leif halvard silli

Received on Wednesday, 15 September 2010 13:07:03 UTC