This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 10614 - Clarify what <img role=presentation alt=<not-the-empty-string> > means
Summary: Clarify what <img role=presentation alt=<not-the-empty-string> > means
Status: RESOLVED WONTFIX
Alias: None
Product: ARIA
Classification: Unclassified
Component: Core AAM (show other bugs)
Version: 1.0
Hardware: All All
: P1 major
Target Milestone: Working Draft
Assignee: ARIA UA Implementors
QA Contact: ARIA UA Implementors
URL: http://www.w3.org/WAI/PF/aria/complet...
Whiteboard:
Keywords: a11y
Depends on:
Blocks: 10066 10481
  Show dependency treegraph
 
Reported: 2010-09-12 18:48 UTC by Leif Halvard Silli
Modified: 2010-09-27 22:06 UTC (History)
3 users (show)

See Also:


Attachments

Description Leif Halvard Silli 2010-09-12 18:48:59 UTC
(1) In VoiceOver+Safari, then the @alt text in <img role="presentation" src="*" alt="Some text"> is not presented to the user, despite that it is seen by  the sighted.

(2) Many (in the HTMLwg at leaste) seem to think that role="presentation" hides the <img>, including the @alt text.

(3) But role="presentation" doesn't hide other elements.

Proposal: Clarify that <img role=presentation src=* alt="foo"> simply takes away the "img" role, thus causing the "foo" to be presented as <span>foo</span>.
Comment 1 Leif Halvard Silli 2010-09-12 18:50:43 UTC
By "despite that it is seen by  the sighted" I meant that it is seen by a sighted text browser user or user which turns off image display.
Comment 2 Leif Halvard Silli 2010-09-12 20:39:07 UTC
3 use cases:

(1) A spacer image could very well contain alt="<space-characters>".  I know that it is not recommend to place only a space character inside alt=" " - for one thing, it causes e.g. VoiceOver to treat it as an  element with role="img".  However, if such an <img> has role="presentation", then it should not pose any problem for a ARIA supporting user agent.  (Please also note that Lynx treats 
   <img alt="<the-empty-string>">       and  
   <img alt="<a-space-character>">
 the same way - it results in a space character. So, actually, inserting a space character would be more compatible with how at least Lynx works.)

(2) According to Benjamin Hawkes-Lewis [*] then for a button such as this:
      <button><img role="presentation" src="pencil.png" alt="Edit"></button>
ARIA instructs UAs to use the "Edit" text as the text of the button, despite that it has role="presentation". (Fails in VoiceOver+Safari on OS X 10.5 - perhaps improvements in OS X 10.6?)

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

(3) When images are used to contain text and logos (ok - a variant of Benjamin's use case).
     Here is an HTML5 example:
     <header role="banner"><img src=logo alt="ACME corp" role="presentation"></header>
As long as the user agent supports ARIA, then I don't  see any advantage in doing this instead:
<header
       ><img src=logo alt="" role="presentation"
       ><span class="use-some-hiding-hack"
       >ACME corp</span>
</header>
And the only alternative to the two alternative above, is to say that the <img> has role="img". However, that would be identical to the experience that AT without ARIA support would give, so I see no point it that alternative.
Comment 3 Leif Halvard Silli 2010-09-13 00:27:20 UTC
The ARIA 1.0 draft says that role=presentation:
]]  does not cause the content contained within the element to be removed from the accessible tree [[:
[*] http://www.w3.org/WAI.new/PF/aria/complete#presentation

That HTML5 considers the @alt value as "content contained with the element", should be clear from the draft:

]]  the value of the alt attribute is the img element's fallback content [[
     [*]http://dev.w3.org/html5/spec/embedded-content-1.html#attr-img-alt

]]  fallback content: content that is to be used when the external resource cannot be used [[
     [*] http://dev.w3.org/html5/spec/content-models.html#fallback-content

]]  What an img element represents depends on the src attribute and the alt attribute.[[
    [*] http://dev.w3.org/html5/spec/embedded-content-1#img-load

]]  If the src attribute is set and the alt attribute is set to a value that isn't empty[:]
    The image is a key part of the content; the alt attribute gives a textual equivalent or replacement for the image.
    If the image is available and the user agent is configured to display that image, then the element represents the image specified by the src attribute.
    Otherwise, the element represents the text given by the alt attribute. User agents may provide the user with a notification that an image is present but has been omitted from the rendering. [[
    [*] http://dev.w3.org/html5/spec/embedded-content-1#img-load
Comment 4 Ian 'Hixie' Hickson 2010-09-27 22:06:06 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: This bug report is a big mish mash of weirdly formatted quotes and I really am unclear as to what is being requested. However, it seems to be a request to define one of the "role" values, in which case it's out of scope of the HTML spec and should be filed with the ARIA spec.