[whatwg] alt text...
Charles McCathieNevile
chaals at opera.com
Sun Apr 26 15:22:39 PDT 2009
Reading through the current spec:
The flowhart example in 4.8.2.1.2 [1] seems to me to be good alt text. It
does violate the principle of visible metadata (if you change your
flowchart you don't see the metadata that it illustrates, and the
associated accessibility use case of people who have some functional
vision, but not a lot.
As described on this list somewhere in the past, such people typically
look at the pictures, and read the text - sometimes the images help,
sometimes they don't and the text description is necessary. Putting it in
the alt, rather than somewhere in the page, or putting it in the page
without a clear way to know that it refers to a given image, both increse
the required work to be sure that the user has understood what is there
(understanding alone is insufficient. A user needs to be clear that they
have in fact understoof all of what is there - a subtle distinction which
only sometimes has practical application, but which is important when it
does).
A better approach, IMHO, would be to have the image illustrating the text,
such as:
<p>In the common case, the data handled by the tokenization stage
comes from the network, but it can also come from script.</p>
<p><figure><img src="images/parsing-model-overview.png"
alt=""><legend>Figure 41</legend><p>
<p>As shown in figure 41, the network
passes data to the Tokenizer stage, which passes data to the Tree
Construction stage. From there, data goes to both the DOM and to
Script Execution. Script Execution is linked to the DOM, and, using
document.write(), passes data to the Tokenizer.</p>
You may not want to do this, or for reasons of flow to have the detailed
data elsewhere. This is where longdesc/describedBy can be helpful.
The issue that arises is copy/paste coding - if you do that in a text
editor as opposed to an authoring tool (because the latter are already
sometimes smart enough to carry the associated code, and we could clarify
which ones are helpful and which ones help authors break things) then a
relative description link to an internal reference needs to be made (more)
absolute. On the other hand, if I use wiki commons images, or things that
Ian has described somewhere on the WHATWG site, and the references point
to these external pages, I simply copy/paste and have automatically
inherited a good description too.
Such an example may look like
<p>In the common case, the data handled by the tokenization stage
comes from the network, but it can also come from script.</p>
<p><img src="images/parsing-model-overview.png" alt="document.write() can
provide input too."
longdesc="http://whatwg.org/images/descriptions/parsing-model-overview.html"></p>
longdesc is effectively the same as aria-describedBy, although
historically limited to a very few elements - it is here for better
backwards compatibility, not because I care much either way about the name.
In any event, what happens to an AT user (whether a screenreader or
someone running a simple script extension such as [2] or [3]) is that you
see the image, and you can get a further description if you want. (In this
example it is an edge case, but this is still a relatively simple diagram.
For something more complex this becomes more relevant.
Such an example might be the common "problem-solving" flowchart [4] I have
seen this in most developer contexts I have been in - it is the one that
starts "Is it working? If so, leave it alone. If not, did *you* mess with
it? if you didn't, will things be OK if you leave it alone, or are you
unfortunate enough that you will get the blame? And if you did, you are a
fool, but the question is whether anyone will find out..." (That's
probably more description than necessary here. If someone had described
the thing accurately once, and such descriptions were more readily
available, I would simply look for the description and point to it :) )
Everything then looks OK until the third example of 4.2.8.1.5 [4] where
the figure element is considered seperate to the paragraph it follows, and
it is therefore suggested that text is required. This leads to a horrible
repetition. Again, having a way to clearly associate the paragraph with
the image would be helpful, but in any case the repetition of text because
it matches some theoretical pattern should be removed, since in real use
it will simply annoy users who rely on reading the alt text. (The
preceeding sections and the general advice that follows rightly point out
that repetitively redundant multiple versions of the same thing are not
helpful...)
The final example in that section is good, but it is impossible to know
that there is in fact a clear description of the image - you have to guess
it by context. It would be nice to have something like
<p id="results">According to a study covering several billion pages,
about 62% of documents on the Web in 2007 triggered the Quirks
rendering mode of Web browsers, about 30% triggered the Almost
Standards mode, and about 9% triggered the Standards mode.</p>
<p><img src="rendering-mode-pie-chart.png" alt=""
aria-describedBy="#results"></p>
Which would enable copying authors to point to the description in the
original context, or to note that it existed and copy it - this can be
done automagically by authoring tools (some do and some don't right now,
but it isn't rocket science to maintain links when you move them from page
to page).
The example in 4.2.8.1.9 [5] where the image is a key part of the content
shows how the current model is limited and why I raised ISSUE-30. A
non-text user trying to skim through a set of images (the scenario
described) quite possibly doesn't want to hear the complex descriptions of
each photo in turn.
If you can determine the user's intent in looking through the list of
images, you can decide dynamically whether the caption is enough. This
would apply where the user is just trying to find out what is in the list,
or is looking to see if their OS is there and don't understand the
find-in-page function, at least. If the user is actually trying to
determine what each OS listed looks like, then you do need the big blocks
of text available. Unfortunately, software that determines user intent is
in its infancy (and often cursed by people for its inaccuracy), and a
better solution for the next few years seems to be a method of encoding
content that readily supports several use cases at once.
Having the ability to use a linked description (and that being clarified
in this section of the spec as a good thing for certain use cases) would
make a number of the examples in this section nicer. Being able to reuse a
high-quality description of known images, instead of being asked to
squeeze something into alt text, shows authors a path where for less work
they can often achieve better results. Even in something as complex as the
Rorschach inkblots, looking for a reference or two is easier than figuring
out how to describe it (it took me five minutes to find something worth
referring to for all ten images, and I would have been hard-pressed to
describe a single one in that time).
Given that the WAI folks are finialising input on what to do in the case
where there is no known input I will refrain from comment for now.
I wrote ages ago:
>> Section 4.8.2.1.11 "An image in an e-mail or document intended for a
>> specific person who is known to be able to view images" seems to me
>> mildly harmful.
>> Specifically, it appears to legitimate claims of the kind "all our
>> customers can see, so we don't need to worry", something that causes
>> a huge umber of problems in ensuring accessibility where it is in
>> fact necessary.
and Ian replied
> I've changed that section to make it clear it is only referring to
> private documents and not anything on the Web.
That section [6] is not entirely clear on first reading (the double
negative isn't helpful). More to the point this is a more-or-less
untestable statement of intent, and I am not sure why any tool would
bother having a setting for "I am writing to somebody I know, and I don't
intend to publish this later on the web, no for either of us to use a text
editor" but would not have a setting for "I don't care about validation,
right now I want to do this". (I don't know of any validation service that
makes such an exception possible, and I don't see the use case for
building one - I certainly haven't seen it described anywhere).
It also seems to me that guidance for markup generators [7] (section
4.8.2.1.13) should also take a lead from ATAG[8] which is produced by a
group that has worked on that topic for a decade or so, and who have
maintained a consistent approach that markup generators "must not add alt
attributes with dummy values". A reference to either the ATAG 1
recommendation on that [8a], or the equivalent section of ATAG 2 [9] would
probably be in order along with aligning closely with what is said in that
spec (or convincing them to change it in future ATAG 2 drafts if they are
wrong, which amounts to the same thing).
[1]
http://dev.w3.org/html5/spec/Overview.html#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts-diagrams-graphs-maps-illustrations
[2] http://userjs.org/scripts/browser/enhancements/frameset-links
[3] http://www.splintered.co.uk/experiments/55/
[4]
http://dev.w3.org/html5/spec/Overview.html#a-graphical-representation-of-some-of-the-surrounding-text
[5] http://dev.w3.org/html5/spec/Overview.html#a-key-part-of-the-content
[6]
http://dev.w3.org/html5/spec/Overview.html#an-image-in-an-e-mail-or-private-document-intended-for-a-specific-person-who-is-known-to-be-able-to-view-images
[7]
http://dev.w3.org/html5/spec/Overview.html#guidance-for-markup-generators
[8] http://www.w3.org/TR/ATAG10
[8a] http://www.w3.org/TR/ATAG10/#check-no-default-alt
[9] http://www.w3.org/TR/2008/WD-ATAG20-20080310/#gl-manage-alts
cheers
Chaals
--
Charles McCathieNevile Opera Software, Standards Group
je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals Try Opera: http://www.opera.com
--
Charles McCathieNevile Opera Software, Standards Group
je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals Try Opera: http://www.opera.com
More information about the whatwg
mailing list