W3C home > Mailing lists > Public > public-html-a11y@w3.org > September 2010

[Bug 10481] Default role of <IMG> should be "img"

From: <bugzilla@jessica.w3.org>
Date: Sat, 11 Sep 2010 13:49:12 +0000
To: public-html-a11y@w3.org
Message-Id: <E1OuQS8-0002Pf-AI@jessica.w3.org>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10481





--- Comment #35 from Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>  2010-09-11 13:49:11 ---
(In reply to comment #31)
> (In reply to comment #30)

> i don't understand how you come to the conclusion that
> 
> "The Jaws behavour  perhaps  implies that Jaws maps @role="img" to <img> rather
> > than mapping <img> to @role="img". "
> 
> In MSAA at least if an 
> <img> has an alt="" its role is graphic and its name=""
> <img> has no alt its role is graphic and its name=none[false]
> <img> has an alt="text" its role is graphic and its name="text"
> 
> so MSAA provides a differentiation between them

The difference I am looking for is difference between <img role=img src=* alt=*
> and <img src=* alt=* >.  Can you repeat the test above, and say if adding
role="img" makes any difference?

This bug is about default ARIA role for img. Default for whom? For authors or
for user agents? And in what sense? If <img> has role="img" by default - from
user agents' persepective, then I suppose that authors should be able to -
literally - write this (where the point is that I omitted role="img"):
<img aria-labelledby="labelElement" src="foo" alt="" >
<span id="labelElement">Lorem ipsum</span>

And, as a result, the ARIA and HTML5 supporting  user agent or AT include
"Lorem ipsum" as the label for the image. However, as a matter of fact, one has
to add role="img" too, or else today's AT doesn't consider the value of the
aria-labelledby attribute.
<img role="img" aria-labelledby="labelElement" src="foo" alt="Dolor bla bla." >
<span id="labelElement">Lorem ipsum</span>

You had an exchange with Tab, where he claimed that AT/user agents: [*] "must
implement ARIA mapping and they must respect the defaults listed in the table".
Is he right?  I am puzzled about what this means. Does it not sound as if he
thinks that one, when HTML5 has gained better support, should be able to skip
adding role="img"? That's a question that isn't clear to me. But I think he
can't be right. Because user agents are not required to support ARIA, are they?
So I think the default mappings only apply _if_ the AT/UA supports ARIA. But
even then, the question needs to be answered: do I, for an <img> - in HTML5
compatible ARIA supporting UA/AT -  need to insert role="img" in order to use
@aria-labelledby?

[*] http://lists.w3.org/Archives/Public/public-html/2010Sep/0101.html

Back to your question: The reason why I said that Jaws maps role="img" to <img>
rather than mapping <img> to role="img" was because I observed that if the
<img> has an empty @alt and no non-empty aria-labelledby/-describedby
attribute, then Jaws doesn't announce the graphic. So Jaws doesn't treat an
<img> with role="img" any different from what it currently treat an <img>
without role="img". (The reason for this might be that Jaws already has its own
methods for discerning between when an <img> with an empty @alt should be
announced - it is, if I understood you correctly, a user choice.)

This is different from VoiceOver, where adding role="img" means that the image
is announced - this is an example of mapping <img> to role="img".

But strictly speaking, there are no user agents, today, where an <img> "maps"
to role="img", if "maps" is meant to imply that the author does not have to use
role="img" in order to "trigger" ARIA in the AT.

HTML5 already requires user agents to represent <img> elements as images ...

Looking at ARIA 1.0, then it doesn't make it a requirement that an element with
role="img" has alternative text. Instead it says (the emphasizes are mine): [*]
 "An img _can_ contain captions and descriptive text, a"   And that: [*] "In
order for elements with a role of img be perceivable, authors _SHOULD_ provide
alternative text "

[*] http://www.w3.org/TR/wai-aria/complete#img

The HTML5 debate has largely taken as premise that only an <img> which actually
_has_ alternative text, should be considered to have role="img". However, as my
quotes above shows, there is no support in ARIA 1.0 for that conclusion. I will
also point out that ARIA says that role="img" has "Children Presentational:
True". Which means: [*]

]] The DOM descendants are presentational. User agents SHOULD NOT expose
tdescendants of this element through the platform accessibility API. If user
agents do not hide the descendant nodes, some information may be read twice. [[

[*] http://www.w3.org/TR/wai-aria/complete#childrenArePresentational

I'm not sure what happens to direct text node children - <element
role="img">TextNode</element>. But anyway, it should not be necessary, per se,
to set an <img> with empty alt, to role="presentational". There is at least no
requirement in ARIA 1.0 that an <img> with alt="" has to be presentational.

So, the more I read ARIA 1.0, then more does role="img" seem to be modeled
after how the <img> element works.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Received on Saturday, 11 September 2010 13:49:13 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:05:14 UTC