W3C home > Mailing lists > Public > public-html@w3.org > August 2007

Re: using an attribute to categorize the @alt state [was Baby Steps or Backwards Steps?]

From: Robert Burns <rob@robburns.com>
Date: Thu, 16 Aug 2007 22:59:26 -0500
Message-Id: <A18E791A-CA70-45C6-87B3-EE4FDE08107A@robburns.com>
Cc: Jon Barnett <jonbarnett@gmail.com>
To: public-html WG <public-html@w3.org>


On Aug 16, 2007, at 9:02 PM, Robert Burns wrote:
> On Aug 16, 2007, at 4:50 PM, Jon Barnett wrote:
>> Why does an aural browser need to distinguish between various  
>> roles of
>> embedded content?  It's not the aural browser's job to understand the
>> role of images - it's the aural browser's role job to replace that
>> image with appropriate content by (a) speaking the alternate content
>> seamlessly in place of the image (b) saying nothing at all because
>> omitting the image doesn't change the meaning of surrounding content
>> or (c) saying something to indicate that an image is missing (and
>> possibly reading its @title) because that image has no appropriate
>> alternate text and cannot be omitted from the document without
>> changing its meaning.
>
> For a browser such as lynx, it could let a user know whether its  
> worthwhile to bother downloading an image and loading on some other  
> device or into some other application. For users of AT, it can let  
> them know whether this page has content that will ever be  
> decipherable to the user. Should they try to listen or braille read  
> the document yet another time. Or is it clear from the keywords (or  
> lack of keywords) that this page was just not setup properly for  
> their consumption (complaints could be lodged).
>
> I think the relation between these keywords, the default value for  
> this @embedrel attribute and the value for @alt provide a nice  
> solution to the  problem Ian is trying to address (at least as I  
> understand it). We can say that the @embedrel attribute is  
> required. Its default value is 'missing' when @alt is missing or  
> set to alt=''. So for the following elementt s:
>
> 1)  <img>
> 2) <img embedrel='missing'>
>
> the value of embedrel is 'missing'. These all reflect the important  
> information that the alternate for this content is missing. It  
> doesn't matter whether an authoring tool couldn't provide the  
> information (2), or its simply a careless author (1) or not  
> targeted at all to be accessible (2) in an email application. The  
> interesting part for the conformance checker or other UA is that  
> and to the user is that the information is missing. Its not  
> decorative or an icon where comprehending the document or  
> subdocument wouldn't be a problem . Its just missing: that part of  
> the document will be incomprehensible to the user.
>
> For
>
> 1)  <img alt=''>
>
> the default value for @embedrel would be 'decorative'. This would  
> be backwards compatible with HTML 4 content for documents that  
> actually follow that convention. However, for HTML5 conforming  
> authors and editing UAs, the @embedrel attribute provides a much  
> less ambiguous approach. With @embedrel, conformance checkers, AT  
> and other UAs can distinguish between alt='' that means:
>
> 1) decorative (decorative)
> 2) icon (icon)
> 3) I'm just trying to get this document  to validate (missing)
> 4) I made this with a visual editor that threw this on here to make  
> it validate (missing)
>
> Those are the important distinctions Ian outlines. However, this  
> approach allows us to state positive authoring conformance norms  
> such as authors must INCLUDE a @embedrel attribute rather than  
> authors must OMIT an @alt attribute. In the latter case its not  
> possible to distinguish from sloppy HTML 4 or HTML5 authoring from  
> conforming HTML5 authoring.

Just to followup and provide a few more clarifying implications of  
this approach...

For

1)  <img alt='the greatest visual HTML editor in the world:  
ClulessEditor^TM ' >

This would make the embedrel default  equal 'undefined' In an HTMl5  
conforming document embedrel would be required. In other words:  
"authors MUST include the @embedrel attribute on any embedded content  
element". This implies that AT and other UAs would have to treat the  
undefined keyword heuristically or provide user preference options to  
decide how to react to elements that don't have the @embedrel  
attribute set. However, down the road we'll be much better off for  
this required attribute.

So summing up:

@alt (required in some contexts)
@embedrel (required) with keywords:
    missing (whether @alt is there or not its value has no meaning)
    decorative (whether @alt is there or not its value has no meaning)
    icon (whether @alt is there or not its value has no meaning)
    seecontext (whether @alt is there or not its value has no meaning)
   * seefallback (@alt is required or for other elements the elements  
contents must contain non-<source> and non-<parameter> content  
providing a textual equivalent for the embedded resource.

@embedrel's default values when missing or not having a valid value  
are contingent on the following scenarios
   @alt missing => @embedrel='missing'
   @alt='' =>  @embedrel='decorative'
   @alt='<a string of length greater than 0>' => @embedrel='undefined'

For all other cases where @embedrel is present with a valid value,  
the value is authoritative.

So this proposal also makes @alt no longer a required attribute.  
Instead it makes @embedrel a required attribute on all embedded  
content (non-text media) elements. @alt is required for one  
particular value of @embedrel: the keyword' 'seefallback'.

This to me seems to be a great application of the pave the cowpaths  
principle. We started with a required @alt attribute. It eventually  
became clear that there are all sorts of cases where @alt might not  
be needed or might even get in the way. All sorts of AT and non- 
graphical UA users have different preferences for how they want these  
text equivalents presented. They may also want the ability to explore  
the page to know whether they're missing something because of author  
carelessness or inattention and not because they just need to give  
the page another reading. Taht is the cowpath that created  
@alt='' (of course the author inattention or carelessness also  
created a cowpath over the cliff of <img> with no @alt; we shouldn't  
pave that one). So PAVING this requires providing features that  
express the needs exhibited in the cowpath (not simply continuing to  
traipse the cows through the mud.

Take care,
Rob
Received on Friday, 17 August 2007 03:59:42 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:16:04 GMT