- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Fri, 14 Feb 2014 17:09:29 -0500
- To: Sailesh Panchang <sailesh.panchang@deque.com>, Joseph Scheuhammer <clown@alum.mit.edu>
- CC: James Teh <jamie@nvaccess.org>, Bryan Garaventa <bryan.garaventa@whatsock.com>, James Craig <jcraig@apple.com>, mick@nvaccess.org, "Schnabel, Stefan" <stefan.schnabel@sap.com>, WAI XTech <wai-xtech@w3.org>
Hi Sailesh,
> But how should the following be interpreted:
> <span role="listitem" aria-label="I am a listitem">What is my <a
> href="#" aria-label="name">nom de plume</a>?</span>
I am unsure what you are asking when you say "how should the following
be interpreted". That depends on who is doing the interpreting :-) .
I'll start with a given. The aria spec mandates that the browser
exposes the following accessibles and their names through the a11y API
for your markup. Accessibles are given in upper case. The tree is
based on FF 27 as viewed using an a11y inspector (apologies if the tree
structure is not apparent):
LIST_ITEM {
name: "I am a listitem"
TEXT {
name: "What is my"
}
LINK {
name: "name"
TEXT {
name: "nom de plume"
}
}
TEXT {
name: "?"
}
}
> And my take is:
> The identity of the SPAN is: "I am a listitem"
If, by "identity", you mean the a11y name, I agree. Otherwise, what do
you mean by "identity"?
> So this should be exposed to the browser and ATs should render it as
> one navigates to the SPAN i.e. list item.
I think you mean "exposed *by* the browser? If so, yes.
> And the content of the SPAN too should be exposed as you suggested earlier:
> "What is my name?"
This raises an interesting point. In my example, the a11y *name* of the
LIST ITEM was "What is my name?". I was showing that a
name-from-contents calculation could switch to name-from-author for a
single descendant element, and then switch back. I said nothing
specifically about the *contents* of the LIST ITEM.
Based on the above a11y tree, the contents of the LIST ITEM is exposed
as "What is my nom de plume?". But, that's based on the assumption that
the contents are built out of the TEXT accessibles. Note that matches
the content that the browser renders on screen.
So: I disagree that the content of the LIST ITEM is "What is my name?".
> And browsers and ATs should render this.
Well, as I said, the browser renders "What is my nom de plume?" as the
content of the list item, not "What is my name?" I think ATs should
render the same content, here. I don't see a reason for ATs to render
different content. However, a position in this thread is that ATs
reserve the right to do what they want. Perhaps there is a
justification for rendering the content differently as "What is my
name?", but, if there is such justification in this case, it escapes me.
Here's a use case: a screen-reader/magnifier user. The magnifier
presents an enhanced version of what the browser has rendered on screen,
namely "What is my nom de plume?". If, at the same time the screen
reader speaks something different, say, "What is my name?", that is
going to confuse the user.
By the way, if it's not obvious, the browser does not explicitly render
the a11y names on screen. The names exist only in the a11y API.
--
;;;;joseph.
'A: After all, it isn't rocket science.'
'K: Right. It's merely computer science.'
- J. D. Klaun -
Received on Friday, 14 February 2014 22:09:59 UTC