- From: Joanmarie Diggs <jdiggs@igalia.com>
- Date: Wed, 03 Dec 2014 18:43:56 -0500
- To: Alexander Surkov <surkov.alexander@gmail.com>
- CC: Joseph Scheuhammer <clown@alum.mit.edu>, "janina@rednote.net" <janina@rednote.net>, W3C WAI Protocols & Formats <public-pfwg@w3.org>
On 12/03/2014 04:29 PM, Alexander Surkov wrote: > That's interesting because ATK and UIA seems to propose semantically > different mappings. UIA tends to consider role="text" as a real text, > while ATK (and seems AXAPI) don't. Point of clarification: ATK is making no assumptions, judgments, or considerations about whether or not role="text" is real text based on the AtkRole mapping. If an object -- any object -- has ATK_ROLE_STATIC, there are two possibilities: 1. That object is real text which is navigable and selectable 2. That object is NOT real text, is NOT navigable, and is NOT selectable Both possibilities are valid. In order to determine which of those two valid possibilities applies to a specific, real-world object, one looks to see if the AtkText interface has been implemented. If the AtkText interface is implemented for a particular AtkObject, then ATs will consider it as real text. If the AtkText interface is not implemented for a particular AtkObject, then ATs will not consider it as text, real or otherwise. So.... Given something like: <p>I <img src="icon.gif" alt="love" role="text"> New York.︎</p> And assuming icon.gif is rendered (thus preventing the alternative text "love" from being rendered in its place), the expected mapping for ATK would be: ATK_ROLE_STATIC, and do NOT implement the AtkText interface because for ATK "real text" requires rendered text. Where things get a bit less clear to me is the expected user experience for something like: <$ELEMENT role="text">$SHORT_STRING</$ELEMENT> In that case, should $SHORT_STRING be treated by ATs as real, navigable, selectable text? A. Yes B. No C. Maybe My personal vote is for A, but we can see what others think. Regardless, once we reach consensus: A means: ATK_ROLE_STATIC. Also implement the AtkText interface. B means: ATK_ROLE_STATIC. Do not implement the AtkText interface. C means: ATK_ROLE_STATIC. Also someone needs to write guidance notes. --joanie
Received on Wednesday, 3 December 2014 23:44:38 UTC