- From: Fred Esch <fesch@us.ibm.com>
- Date: Fri, 4 Mar 2016 13:58:14 -0500
- To: Joanmarie Diggs <jdiggs@igalia.com>
- Cc: SVG-A11y TF <public-svg-a11y@w3.org>
- Message-Id: <201603041903.u24J3GDg023814@d01av02.pok.ibm.com>
Joanie, I understand what you are saying but I don't interpret it the same way. My interpretation is that if the current node can calculate the needed value without visiting a node already visited in the calculation chain, it should calculate and use the value. In my opinion, the only condition that needs worrying about is getting stuck in recursion. In the case we have you don't get stuck in a recursive loop. I can put it on the agenda for the SVG a11y TF, but this is really an ARIA question. Do we have clear guidance on this? Regards, Fred Esch Watson, IBM, W3C Accessibility IBM Watson Watson Release Management and Quality From: Joanmarie Diggs <jdiggs@igalia.com> To: Fred Esch/Arlington/IBM@IBMUS Cc: SVG-A11y TF <public-svg-a11y@w3.org> Date: 03/04/2016 12:11 PM Subject: Re: svg accessibility tests Hey Fred. On 03/04/2016 11:13 AM, Fred Esch wrote: > Joanie, > > That calculation is done based on the core AAC below, emphasis is mine. > > 4.3 Text Alternative Computation > < http://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_te > > > Text alternatives are built up, when appropriate, from all the relevant > content contained within an element. This is accomplished via steps 2B > and 2F, which are recursive, *using the full set of rules*to retrieve > text from its own children or nodes it references. The full set of rules also include a statement that you only do the processing if "the current node is not already a part of an {aria-labelledby,aria-describedby} traversal. See issue-1008. [...] > Reasoning is inline below. If my interpretation is wrong, please let me > know. If it is unclear what should happen please mention this and we can > bring it up as an agenda item. I think your interpretation may indeed be wrong. Again, see issue-1008. [...] >> In the meantime, please refresh my memory regarding what happened with >> the recursive labelledby/describedby. Shouldn't this test: >> >> // two valid idrefs, one with an aria-label, one with aria-labelledby >> if given >> <circle id="test" aria-labelledby="t1 t2" cx='50' cy='100' r='15'/> >> <text id="t1" x="40" y="90"aria-label="big">the</text> >> <text id="t2" x="140" y="90" aria-labelledby='t3'>end</text> >> <text id="t3"x="180" y="90">finish</text> >> then accessible name = "big finish" >> >> have accessible name of "big end"? > > *the element with id t1 would contribute **/big/** * Agreed. > *the element with id t2 would contribute **/finish/** because of the > aria-labeledby.* Disagreed. Looking at https://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_description 2B: This part is true: if computing a name, and the current node has a non-empty aria-labelledby attribute However, this part is false: and the current node is not already part of an aria-labelledby traversal The current node (t2) IS already part of an aria-labelledby traversal, namely the node with id="test" with aria-labelledby="t1 t2". Because of the above condition failing, we cannot do this bit: process its IDREFs in the order they occur Instead, we wind up having to use the text, namely "end". --joanie --1__ BBF5FFDFF5041E8f9e8a93df938690918c0ABBF5FFDFF5041E Content-Transfer-Encoding: quoted-printable Content-type: text/html; charset=US-ASCII Content-Disposition: inline <html><body><p>Joanie,<br><br>I understand what you are saying but I don't interpret it the same way. My interpretation is that if the current node can calculate the needed value without visiting a node already visited in the calculation chain, it should calculate and use the value. In my opinion, the only condition that needs worrying about is getting stuck in recursion. In the case we have you don't get stuck in a recursive loop. <br><br>I can put it on the agenda for the SVG a11y TF, but this is really an ARIA question. Do we have clear guidance on this? <br><br><br><br> <table border="0" cellspacing="0" cellpadding="0"><tr valign="top"><td width="473" colspan="2" valign="middle"><div align="center"><font size="4" face="Verdana">Regards, <br><br>Fred Esch <br>Watson, IBM, W3C Accessibility</font></div></td></tr> <tr valign="top"><td width="130" valign="middle"><img src="cid:1__=0ABBF5FFDFF5041E8f9e8a93df938690918c0AB@" width="163" height="23" alt="IBM Watson" align="bottom"></td><td width="342" valign="middle"><font size="4" face="Verdana">Watson Release Management and Quality </font></td></tr></table><br><br><img width="16" height="16" src="cid:2__=0ABBF5FFDFF5041E8f9e8a93df938690918c0AB@" border="0" alt="Inactive hide details for Joanmarie Diggs ---03/04/2016 12:11:52 PM---Hey Fred. On 03/04/2016 11:13 AM, Fred Esch wrote:"><font color="#424282">Joanmarie Diggs ---03/04/2016 12:11:52 PM---Hey Fred. On 03/04/2016 11:13 AM, Fred Esch wrote:</font><br><br><font size="2" color="#5F5F5F">From: </font><font size="2">Joanmarie Diggs <jdiggs@igalia.com></font><br><font size="2" color="#5F5F5F">To: </font><font size="2">Fred Esch/Arlington/IBM@IBMUS</font><br><font size="2" color="#5F5F5F">Cc: </font><font size="2">SVG-A11y TF <public-svg-a11y@w3.org></font><br><font size="2" color="#5F5F5F">Date: </font><font size="2">03/04/2016 12:11 PM</font><br><font size="2" color="#5F5F5F">Subject: </font><font size="2">Re: svg accessibility tests</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt>Hey Fred.<br><br>On 03/04/2016 11:13 AM, Fred Esch wrote:<br>> Joanie,<br>> <br>> That calculation is done based on the core AAC below, emphasis is mine.<br>> <br>> 4.3 Text Alternative Computation<br>> <</tt><tt><a href="http://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_te">http://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_te</a></tt><tt>><br>> <br>> Text alternatives are built up, when appropriate, from all the relevant<br>> content contained within an element. This is accomplished via steps 2B<br>> and 2F, which are recursive, *using the full set of rules*to retrieve<br>> text from its own children or nodes it references.<br><br>The full set of rules also include a statement that you only do the<br>processing if "the current node is not already a part of an<br>{aria-labelledby,aria-describedby} traversal. See issue-1008.<br><br>[...]<br><br>> Reasoning is inline below. If my interpretation is wrong, please let me<br>> know. If it is unclear what should happen please mention this and we can<br>> bring it up as an agenda item.<br><br>I think your interpretation may indeed be wrong. Again, see issue-1008.<br><br>[...]<br><br>>> In the meantime, please refresh my memory regarding what happened with<br>>> the recursive labelledby/describedby. Shouldn't this test:<br>>> <br>>> // two valid idrefs, one with an aria-label, one with aria-labelledby<br>>> if given<br>>> <circle id="test" aria-labelledby="t1 t2" cx='50' cy='100' r='15'/><br>>> <text id="t1" x="40" y="90"aria-label="big">the</text><br>>> <text id="t2" x="140" y="90" aria-labelledby='t3'>end</text><br>>> <text id="t3"x="180" y="90">finish</text><br>>> then accessible name = "big finish"<br>>> <br>>> have accessible name of "big end"?<br>> <br>> *the element with id t1 would contribute **/big/** *<br><br>Agreed.<br><br>> *the element with id t2 would contribute **/finish/** because of the<br>> aria-labeledby.*<br><br>Disagreed.<br><br>Looking at<br></tt><tt><a href="https://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_description">https://rawgit.com/w3c/aria/master/accname-aam/accname-aam.html#mapping_additional_nd_description</a></tt><tt><br>2B:<br><br>This part is true:<br><br> if computing a name, and the current node has a non-empty<br> aria-labelledby attribute<br><br>However, this part is false:<br><br> and the current node is not already part of an aria-labelledby<br> traversal<br><br>The current node (t2) IS already part of an aria-labelledby traversal,<br>namely the node with id="test" with aria-labelledby="t1 t2".<br><br>Because of the above condition failing, we cannot do this bit:<br><br> process its IDREFs in the order they occur<br><br>Instead, we wind up having to use the text, namely "end".<br><br>--joanie<br><br></tt><br><br><BR> </body></html> --1__ BBF5FFDFF5041E8f9e8a93df938690918c0ABBF5FFDFF5041E-- --0__ BBF5FFDFF5041E8f9e8a93df938690918c0ABBF5FFDFF5041E Content-type: image/gif; name="0A844503.gif" Content-Disposition: inline; filename="0A844503.gif" Content-ID: <1__ BBF5FFDFF5041E8f9e8a93df938690918c0AB@> Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAKMAAAAXCAMAAABQ6Q/RAAADAFBMVEXIx8cxLS5MSUrW1dXx8fE/ Ozzj4+N2c3SRj49oZWaEgYKsq6uenZ26ubmbm5v29vZ7e3tTU1M7OzsfHx/FxcX39/eamppmZmaR j5AgICCqqqrR0dFaV1gAAAAjHyD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAADe7fL7AAADE0lEQVR4nM2WiW7kIAyGTbhz9O6eCL//U6bYGJJOst2dlaqppUm4 +fhtnAH8+gb7sroZxodWGZfA5UxP52+Ic2qVEbLDxujTLXnOTHydSDxNdC7DR+NvYQK02PLQYBDn z5dRw04GAPibKIBec2GKuZjyrtbosVZr72J397Xyc+suPshsiOUBvRb4xavlzYoA2tI+XEQTFDfT rkCFiFLIec8Y82jQ0dIhjOU5lmWGa254owKe/J5xPDBqdYHLphZBm08Zi5/nOnEsEUmHwiG6cx3X Z6k8ID5c6kgHHC4YlblkJHcNlotO7Xp0RVP6lLFIPtTmsuDQDn+FGT4YTy3OXcTFEy85VUYonQMQ WHWopSIdR83aTYRs5bBD9cz+VjBjyI3RbVEkSu7ed/XF8r18ExXF25ZJiWnk/RhD1S1JlFT5mLGc B0KYNJG5rtEkLhjPGUVz32Lh2iw+k68WnhqJjeZTldqBr27dFkCz2mlyooxcac0zJUyWM8YKFnn8 KLofdFy7brvwXLctZs+6KScOTrSr6uft2y4SmJqa+tUcxPeKY/iEcc4+W8qNfYUrdSTtYvnRrfE1 rgk1QOqBs207ideoc2gLJGFMtEQ6YQy53OvwA1DifmM86PhQKxSZ66+uI/o6zdVcMmwtRHrBiGbm XWysp2FTjbERHHUEPXAgtDRxrY5Vfsvph6PebGnFvmcswSnp2PcDcECPdYzkz2M8ziBH9rtl8c/3 Gh/X9TtuOhphWyToedNUzEp0boyZ8zQNnHLrXIhLy5jplBHVINnHmKj+415Lamt+QAdWDkphmcC5 mh8lodvqNsOqDyHw5GjamHjKGLKEj66LuK7i5XfmsVbwdX1+leL9vTiLIiTy8qFFjHwygjQA7j46 sUc/oxpoY4w9YzRW+RbsZeJ135mnJ9ErCuv8T4yqCGH6zYoGOyOXDowSqJ5yRtq6jzq2/z2IL7+l H58eaWxMiULLlRjUOCU2+kfKNkkDuam8KJP6eqPB0+eIU7PexswpjQdG5AAJEOL1X+vPt/7/cuLg UP7L/QtHfANvSEKvsxvttAAAAABJRU5ErkJggg= --0__ BBF5FFDFF5041E8f9e8a93df938690918c0ABBF5FFDFF5041E Content-type: image/gif; name="graycol.gif" Content-Disposition: inline; filename="graycol.gif" Content-ID: <2__ BBF5FFDFF5041E8f9e8a93df938690918c0AB@> Content-Transfer-Encoding: base64 R0lGODlhEAAQAKECAMzMzAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIXlI+py+0PopwxUbpu ZRfKZ2zgSJbmSRYAIf4fT3B0aW1pemVkIGJ5IFVsZWFkIFNtYXJ0U2F2ZXIhAAA7 --0__ BBF5FFDFF5041E8f9e8a93df938690918c0ABBF5FFDFF5041E--
Received on Friday, 4 March 2016 19:03:52 UTC