Replacing images, hiding images, and thoughts on alternative content

Hi! Three topics here:

1. Why is replacing images the required way to get at alternative content?
2. Should we require the ability to hide all images?
3. Thoughts on the myriad permutations of how alternative content can be handled, and how our current SC stack up


  1. Why is replacing images the required way to get at alternative content?


Following up on my earlier message below, can anyone clarify why 1.1.2 requires the user be able to /replace a specific image/ with its alternative content, rather than just requiring that the alternative content be available to the user? The latter would allow the user agent to replace the primary content OR use other means such as displaying the alternative content in a Properties dialog, next to the image, on the image's shortcut menu, etc. Note that this success criterion is not about a global option that applies to all elements of a given type, but per the pending revision to 1.1.2 it's about selecting one image and asking to see its alternative content. In that case, I think displaying the alternative content in another context would be acceptable. Replacing the image is a nice option, but is it appropriate to mandate it as the only approach for Level A?

Another argument for this is that both the current and proposed wording for 1.1.2 don't require the user to have any way of viewing the alternative content other than hiding the primary content (e.g. replace an image with its alt text).


  2. Should we require the ability to hide all images?


This also brings up the fact that 1.1.1 (former 3.1.2) Configurable Default Rendering currently requires the user be able to have alt text shown for all images, but not the ability to turn off images or have the alt text replace them. That is, a browser could comply by displaying alt text next to images. Is the ability to turn off images and similar content types addressed somewhere else? If not, I suggest adding something to that effect, which if it paralleled 2.9.2 (former 4.9.2) Time-Based Media Load-Only and 2.9.3 (former 4.9.3) Execution Placeholder might look something like (although I'd love to replace the term "non-time-based media"):

*2.9.x Media Placeholder: *The user can specify that placeholders be rendered in place of specified types of non-time-based media content, until explicit user request to render the media (e.g. have images replaced by an icon or their alt text). (Level AA)

*Intent: *

    * Users with some types of disabilities may find images and the like ("non-time-based media content") to not be useful, and in some cases to be actively detrimental to their browsing experience or performance of their tasks. In these cases they would like to be able to hide the images, and usually replace them with some form of placeholder or alternative content.


*Examples:*

    * Gustavo is sensitive to bright lights, and a particular web page hurts his eyes because of the wide expanse of bright white images. He clicks a button on the browser's toolbar which replaces all images with a rectangle of equivalent size containing a "missing image" icon.
    * Rafaela is has low vision and enlarges pages to make them easier to read. However, when her browser magnifies the page, images get too large to be useful, and prevent text on the page from wrapping comfortably. Therefore she goes into her browser's Options dialog box and chooses to have all images hidden and replaced with their alt text, which can wrap along with other text content.
    * Luiz is blind, and browsing using a smart phone that has self-reading capability. He gets no benefit from images, so he chooses to have them turned off, saving him both download time and data charges, and the browser still reads the images' alt text in its place.

*Related Resources:*

    * See Guideline 1.1 Alternative Content.

*Implementation Examples:*

    * In Mozilla Firefox 3.6 the user can choose Options from the Tools menu, and on the Content page turn off the "Load images automatically" checkbox. Images that have alt text are replaced by the alt text (inline, may be blank) and square brackets containing any title text (both in red), while images without alt text are replaced by a "missing image" icon. Images whose size is specified in the source have an outlined block that size reserved for their icons or alternative content. WARNING/BUG: this only blocks downloading of remote images, not loading of /local/ images. An add-on is also available to make this toggle available as a toolbar button.
    * In Microsoft Internet Explorer 8 the user can choose Internet Options from the Tools menu, and on the Advanced tab uncheck the "Show Pictures" checkbox. Images will be replaced by an outlined block containing a "missing image" icon and their alt text if any is specified. Both are enclosed in a box, which is shrank to fit the content unless another advanced option is checked.
    * In Apple Safari 5.0 under Preferences, Appearance tab, uncheck the "Display images when page opens" checkbox. Neither images nor their alternative content is displayed. Images whose size is specified in the source have a block that size reserved, but nothing is displayed there.
    * According to documentation, Google Chrome can be started with the --disable-images command line switch, but I couldn't get it to work for me in version 8.0.


  3. Thoughts on the myriad permutations of how alternative content can be handled


Here are eight different questions or dimensions that I found a helpful way to think about success criteria dealing with alternative content. (Indeed, some might apply elsewhere as well.) 1-3 are general, 4-6 are about which attributes are used, how they're displayed and found, and 7-8 are about how to handle changes to the document layout they might cause. These form a huge space of possible behaviors and user options, and it's interesting to note that we're requiring or recommending just a few of them, which I call out below. I found this to be a useful lens through which to examine our success criteria to help figure out if they mean what we intended them to mean.


    *Group 1. General*


*Dimension 1: Scoping
*For a behavior involving alternative content, does it apply to:
a) All /*elements of a specific type */(e.g. all images)
b) All /*elements of a specific type */that have /*any alternative content */(e.g. all images with alt and/or longdesc)
c) All elements that have a /*specific attribute */(e.g. all elements with title, all elements with alt)
d) All /*elements of a specific type */that have a /*specific attribute */(e.g. links with title, images with alt)
e) One or more /*specific elements*/ (e.g. the image with the keyboard focus, or link the user clicked on, or the group of elements the user selected)

*Dimension 2: Defaults*
For a behavior for handling alternative content:
a) Specify the /*default behavior */for all elements that meet given criteria (e.g. hide all images, or display alt text for all images)
b) Override default behavior for /*all elements that meet given criterion */(e.g. temporarily display all images, or replace all images that have longdesc with their longdesc)
c) Override default behavior for /*a specific element */(e.g. when images are shown without their alt text, select one and display its alt text, or when images are replaced by placeholders, select one and have its image rendered)

*Dimension 3: Who's in control*
For an aspect of behavior:
a) /*User */must be able to select the behavior (e.g. user can choose to either replace images with alt or to have alt text shown immediately following an image)
b) /*User agent */may select the behavior or leave it up to the user (e.g. alt is automatically displayed for hidden images, or longdesc is available only through a Properties dialog box)
c) /*S**tandard */specifies how behavior must be done (e.g. "alt text MUST be displayed in place of hidden images"; equivalent to 2.6.3 saying the user MUST be notified when no match is found, with no option to let the user disable this behavior)


    Group 2: What and Where

*Dimension 4: Where presented*
For elements that have alternative content that meet given criteria:
a) /*Replace*/ those element with the attribute(s) (e.g. display alt text in place of an image, possibly with a distinct border or similar identifier)
b) /*Supplement in context*/ those element with the attribute(s) (e.g. display alt text along with an image, ideally in a distinct style)
c) */Supplement out of context/ *(e.g. display the alt text on the status bar when the element has focus or mouse hovers over it)
d) /*None of the above*/ (e.g. ignore the alternative content unless the user takes some action)

*Dimension 5: Which attributes*
When presenting or identifying alternative content for an element or element type:
a) User specifies */one attribute/ * (e.g. for images, display alt)
b) User specifies a */cascade of attributes/ *(e.g. for images, display alt if it's provided, otherwise longdesc, otherwise filename)
c) User specifies a */list of attributes/ *(e.g. for images, display alt, longdesc, and filename)

*Dimension 6: Help locating
*To help users locate elements with alternative content, for a criteria you can do any or all of the following:*
*a) /*Indicate*/ those elements in context (e.g. put an icon next to images with alt text)
b) Provide a */list/* of elements that meet the criteria (e.g. a dialog box displays a list of all images that have alt text, or all images along with their alt text if they have it, ideally allowing the user to navigate the document using this list)
c) Provide a method to /*find*/ the next and previous elements that meets the criteria (e.g. move keyboard focus to the next image that has alternative content)


    Group *3*: Layout Changes


*Dimension 7: Underflow*
When a placeholder substitutes for a larger element:
a) /*Reserve space */that would have been taken up by the primary content (e.g. reserve a box the same size as the image would have been, even if the image is replaced by a smaller icon or alt text)
b) */Do not reserve space/ *(e.g. an icon or alt text only take up the amount of room they require, even if smaller than the image they're replacing)
*
Dimension 8: Overflow*
When a placeholder substitutes for a smaller element:
a) /*Truncate the placeholder */to avoid changing document layout (e.g. only show the first few letters of the alt text that substitutes for a small image)
b) Truncate the placeholder to avoid changing document layout, but /*provide a way to get the full version*/ (e.g. scroll bars, or Properties dialog)
c) /*Grow the region to display the full placeholder*/, even if it changes document layout (e.g. show the entire icon or full alt text, reflowing other content as needed to accommodate it)


    How do our current success criteria fit into this?

As I mentioned, I found the dimensions above to be a useful lens through which we can examine our success criteria to see if they mean what we intended.

For example, UAAG20 *1.1.1 Configurable Default Rendering* equates to:

    * Scoping = c (a specific attribute regardless of element type--no requirement that the user can choose different attributes for different element types)
    * Defaults = a (specify default behavior)
    * Where Presenting = unspecified (left up to the user agent whether alternative content replaces or substitutes for an element, or is displayed out of context)
    * Which Alternatives = unclear (language is ambiguous as to whether "which types" means up to one attribute type for each element type, or zero or more attribute types for each element type)
    * Help Locating = n/a
    * Underflow: unspecified (up to user agent whether layout is preserved)
    * Overflow: unspecified (up to user agent whether layout is preserved or if additional space is allocated for alternative content; text may be truncated and there is no requirement that the user be able to view its entirety)


And *1.1.2 (per wording below) Choose and Render Alternative Content* equates to:

    * Scoping: e (the user chooses specific elements)
    * Defaults: c (user overrides default behavior for the specific elements)
    * Where Presented: a (the alternative content MUST replace the element)
    * Which Attributes: unclear (it's not clear whether the standard specifies which attributes are considered alternative content, but all such are required)
    * Help Locating: n/a
    * Underflow: unspecified (up to user agent whether layout is preserved)
    * Overflow: unspecified (up to user agent whether layout is preserved or if layout is changed to add space for alternative content, borders, etc.)


And *1.1.3  Identify Presence of Alternative Content* equates to:

    * Scoping: b (all elements with any alternative content--including longdesc and title)
    * Defaults: a (user specifies default behavior for all elements)
    * Where Presented: d (the alternative content is not displayed)
    * Which Attributes: unclear (it's not clear whether the standard specifies which attributes are considered alternative content, but all such are required)
    * Help Locating: a (indicate matching elements in context)
    * Underflow: n/a (as the original element is displayed, total space will never be smaller than the default)
    * Overflow: unspecified (up to user agent whether layout is preserved or if layout is changed to add space for icons, text, borders, etc.)


And *1.1.4 (former 3.1.4) Rendering Alternative (Enhanced)* equates to:

    * Scoping = c (specific attributes regardless of element type--no requirement that the user can choose different attributes for different element types)
    * Defaults = a (specify default behavior, ALTHOUGH the wording could also be interpreted as affecting which attribute is displayed in response to a per-element command)
    * Where Presenting = unspecified (left up to the user agent whether alternative content replaces or substitutes for an element, or is displayed out of context)
    * Which Alternatives = b (user specifies a cascade of attributes of which at most one is used)
    * Help Locating = n/a
    * Underflow: unspecified (up to user agent whether layout is preserved)
    * Overflow: unspecified (up to user agent whether layout is preserved or if additional space is allocated for alternative content; text may be truncated and there is no requirement that the user be able to view its entirety)

So the question is, do those answers make sense (meaning, do the success criteria make sense)? Are we missing anything else important?

     Thanks,
     Greg


-------- Original Message  --------
Subject: Leftover change to 1.1.2 (Browse and Render) from ACTION-350
From: Greg Lowney <gcl-0039@access-research.org>
To: WAI-UA list <w3c-wai-ua@w3.org>
Date: 1/12/2011 3:45 PM
> The transcript from 8 April 2010 shows agreement to change 3.1.3's (now 1.1.2's) title, lead paragraph, and bullet items, but when ACTION-350 was created we accidentally captured only the last of those. Thus, we should probably create have a new action item for Jeanne to change the title and first paragraph of what is now 1.1.2 to read:
>
>     "1.1.2 Choose and Render Alternative Content: The user can determine which forms of alternative content are available for an element, select between them, and have them rendered according to the following:"
>
>
> Here's the relevant portion of the transcript (http://lists.w3.org/Archives/Public/w3c-wai-ua/2010AprJun/0015.html):
>
>     <scribe>  new proposal 3.1.3 3.1.3 Choose and Render Alternative Content: The
>     user can determine which forms of alternative content are available for an
>     element, select between them, and have them rendered according to the
>     following.synchronized alternatives for time-based media (e.g., captions,
>     audio descriptions, sign language) can be rendered at the same time as their
>     associated audio tracks and...
>
>     UNKNOWN_SPEAKER: visual tracks, and
>
>     non-synchronized alternatives (e.g., short text alternatives, long
>     descriptions) can be rendered as replacements for the original rendered
>     content.".
>
>     kf: any objections?
>
>     none
>
>     <scribe>  ACTION: js to update 3.1.3 to be "synchronized alternatives for
>     time-based media (e.g., captions, audio descriptions, sign language) can be
>     rendered at the same time as their associated audio tracks and visual
>     tracks, and [recorded in
>     http://www.w3.org/2010/04/08-ua-minutes.html#action09]
>
>     <trackbot>  Created ACTION-350 - Update 3.1.3 to be "synchronized
>     alternatives for time-based media (e.g., captions, audio descriptions, sign
>     language) can be rendered at the same time as their associated audio tracks
>     and visual tracks, and [on Jeanne Spellman - due 2010-04-15].
>
>

Received on Thursday, 13 January 2011 06:48:52 UTC