Re: Accname question regarding self-references

Bryan,

Chrome uses the value instead of the aria-label when the aria-labelledby
points to something with both. This is because once it starts following any
other node it is consider to be using "recursion" -- it's calling back into
the same function with another node. And 2C/2E say to ignore the aria-label
when the value is used.

Aaron

On Wed, Jan 6, 2021 at 2:35 PM Bryan Garaventa <
bryan.garaventa@levelaccess.com> wrote:

> In looking at the code, it does appear to be working as expected as
> implemented within Chrome.
>
>
>
> However this implementation does not match the spec, which is documented
> in a linear process where the valid presence of aria-labelledby will
> exclude the presence of aria-label on the same node.
>
>
>
> For this to be changed to match this implementation, we would need to add
> verbiage to the spec within aria-labelledby that states that
> self-referencing nodes are excluded from the one-time-only rule when
> computing the name of an element that is explicitly referenced using its
> id. This would match instances when aria-label is not used but if you were
> to add the word “Delete” within the span instead.
>
>
>
> Otherwise, if this were too loosly defined, it will break all expected
> behavior such as the following.
>
>
>
> <span id=”ID”>Your name:
>
> <input aria-labelledby=”ID” type=”text”>
>
> </span>
>
>
>
> This too is self-referencing, though implicitly and not explicitly. If it
> were to ignore the one-time-only rule, it would cause the value of the
> input to be added to the accessible name every time you type something
> within that field, which would be the opposite of what is expected to occur.
>
>
>
> Even if the spec change is made so that this is explicitly defined, it
> will likely change some of the test cases within the archive, so those
> would all have to be reevaluated to ensure conformity.
>
>
>
>
>
>
>
> Bryan Garaventa
>
> Principal Accessibility Architect
>
> Level Access, Inc.
>
> Bryan.Garaventa@LevelAccess.com
>
> 415.624.2709 <(415)%20624-2709> (o)
>
> www.LevelAccess.com <http://www.levelaccess.com/>
>
>
>
> *From:* James Nurthen <nurthen@adobe.com>
> *Sent:* Wednesday, January 6, 2021 10:40 AM
> *To:* Bryan Garaventa <bryan.garaventa@levelaccess.com>; Carolyn MacLeod <
> Carolyn_MacLeod@ca.ibm.com>; public-aria@w3.org
> *Subject:* Re: Accname question regarding self-references
>
>
>
> *CAUTION:* This email originated from outside of the organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
>
>
> Bryan – can you clarify that you still expect example 2 in the Accname
> spec to work correctly?
>
>
>
> The following example shows the interaction of aria-labelledby and
> aria-label when a node has an aria-labelledby that refers to itself. The
> <span role="button"> elements have the accessible names "Delete
> Documentation.pdf" and "Delete HolidayLetter.pdf", respectively.
>
>
>
> EXAMPLE 2
>
> <h1>Files</h1>
>
> <ul>
>
>   <li>
>
>     <a id="file_row1"
> href="./files/Documentation.pdf">Documentation.pdf</a>
>
>     <span role="button" tabindex="0" id="del_row1" aria-label="Delete"
> aria-labelledby="del_row1 file_row1"></span>
>
>   </li>
>
>   <li>
>
>     <a id="file_row2"
> href="./files/HolidayLetter.pdf">HolidayLetter.pdf</a>
>
>     <span role="button" tabindex="0" id="del_row2" aria-label="Delete"
> aria-labelledby="del_row2 file_row2"></span>
>
>   </li>
>
> </ul>
>
>
>
> *James Nurthen (he/him)*  |  *Accessibility Engineer*  |  *Adobe*  |  T 415
> 832 2734 <(415)%20832-2734>  |  nurthen@adobe.com
>
>
>
>
>
>
>
> *From: *Bryan Garaventa <bryan.garaventa@levelaccess.com>
> *Date: *Wednesday, January 6, 2021 at 10:31 AM
> *To: *Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>, "public-aria@w3.org" <
> public-aria@w3.org>
> *Subject: *RE: Accname question regarding self-references
> *Resent-From: *<public-aria@w3.org>
> *Resent-Date: *Wednesday, January 6, 2021 at 10:31 AM
>
>
>
> “where a component needs to augment an input's label with invisible text?”
>
>
>
> What about the following?
>
>
>
> <span id="nameId">Visible Name</span>
>
> <input aria-labelledby="nameId" aria-description="Invisible Description"
> type="text">
>
>
>
> Doesn’t this already do that?
>
>
>
>
>
> Bryan Garaventa
>
> Principal Accessibility Architect
>
> Level Access, Inc.
>
> Bryan.Garaventa@LevelAccess.com
>
> 415.624.2709 <(415)%20624-2709> (o)
>
> www.LevelAccess.com <http://www.levelaccess.com/>
>
>
>
> *From:* Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
> *Sent:* Wednesday, January 6, 2021 9:05 AM
> *To:* public-aria@w3.org
> *Subject:* RE: Accname question regarding self-references
>
>
>
> *CAUTION:* This email originated from outside of the organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
>
>
> How could an author achieve this without either using the visually-hidden
> hack, or invalid "aria-label on span" code that happens to still work?
>
>
>
> Here are 2 possible "work-arounds" that I tried, but I can't think of any
> others (could easily be missing something):
>
> https://carmacleod.github.io/playground/self-ref-aria-label.html?ver=1
>
>
>
> The work-arounds achieve the goal (accessible name is "The Label
> ariaLabel" in Chrome, Edge, Firefox, and Safari), but they are not very
> elegant work-arounds, and they necessarily involve growing another element
> to "solve" the "problem".
>
>
>
> James, can you describe a concrete example (or two) where a component
> needs to augment an input's label with invisible text? I'm guessing there
> must be many, but I think 2 compelling concrete examples would be useful
> here.
>
>
>
> Car
>
>
>
> ----- Original message -----
> From: "Carolyn MacLeod" <Carolyn_MacLeod@ca.ibm.com>
> To: public-aria@w3.org
> Cc: faulkner.steve@gmail.com, nurthen@adobe.com
> Subject: [EXTERNAL] RE: Accname question regarding self-references
> Date: Wed, Jan 6, 2021 10:13 AM
>
>
> Steve,
>
>
>
> > link to the issue?
>
>
>
> Seems to be this one:
> https://bugs.chromium.org/p/chromium/issues/detail?id=1159567
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.chromium.org_p_chromium_issues_detail-3Fid-3D1159567&d=DwMGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=mbz1_iU8T6MdlVHlwCsQ2yWfa6mLMjMBLLUcYDOCTk0&s=cDpvq2wEj5DbZQRgNKm35iyXFl-JlRhECRq808QeLmQ&e=>
>
>
>
> Car
>
> ----- Original message -----
> From: David MacDonald <david@can-adapt.com>
> To: Steve Faulkner <faulkner.steve@gmail.com>
> Cc: James Nurthen <nurthen@adobe.com>, ARIA Working Group <
> public-aria@w3.org>
> Subject: [EXTERNAL] Re: Accname question regarding self-references
> Date: Wed, Jan 6, 2021 7:15 AM
>
>
> I would say A
>
>
>
> ACCNAME would be
>
>
>
> "The Label AriaLabel"
>
>
>
> I'm sorry I've looked at this sentence 3 times and am scratching my head.
>
>
>
> "the self-reference is ignored because the root node has already been
> processed when it was also the ‘current node’."
>
>
>
> Cheers,
> David MacDonald
>
>
>
> *Can**Adapt* *Solutions Inc.*
>
> Mobile:  613.806.9005 <(613)%20806-9005>
>
> LinkedIn
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.linkedin.com_in_davidmacdonald100&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=Tzt3XsvbJaloPRk0OuIYESpsEy76Vfy2OdUtKb_c0E4&e=>
>
> twitter.com/davidmacd
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__twitter.com_davidmacd&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=5Ycs-lpUNg-GTMPrqfNk3l90K4CrAzFliUrtQhQ9GeE&e=>
>
> GitHub
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_DavidMacDonald&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=VwGW0VJWdBvu46hLLpiIZ1DTvkqWDNkcWcvjcN0qvzM&e=>
>
> www.Can-Adapt.com
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.can-2Dadapt.com_&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=bJLs7weIPyYaPh9NruWKqIJ-PK-jyKTAkuS3Jmp7ZG0&e=>
>
>
>
> *  Adapting the web to all users*
>
> *            Including those with disabilities*
>
>
>
> If you are not the intended recipient, please review our privacy policy
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.davidmacd.com_disclaimer.html&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=F3MJYOTvxkMuWH0WQHLOW_CKLbugjvafuQjqddIirYg&e=>
>
>
>
> On Wed, Jan 6, 2021 at 3:57 AM Steve Faulkner <faulkner.steve@gmail.com>
> wrote:
>
> We are having a debate in a Chrome issue about the following.
>
>
>
> link to the issue?
>
> --
>
> Regards
>
> SteveF
>
> Accessibility is political
>
> Working for the web
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__twitter.com_stevefaulkner_status_940835584410574850&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=7pxjQj6Sn7GadcQXUI8qdHzQ7owon0mR-h863iCnxZc&m=NBN9ZCXTg3LP6bawS00P8ksp6RnPK87Tn7pCznIOfBI&s=skSjY7FkAQQkU5A5LkwvmYX0KNxRRLByEP5bUEzg-VM&e=>
> ,
>
> anywhere and everywhere
>
>
>
> On Tue, 5 Jan 2021 at 01:30, James Nurthen <nurthen@adobe.com> wrote:
>
> We are having a debate in a Chrome issue about the following.
>
>
>
> According to the accessible name algorithm what should be the accessible
> name of the input in the below
>
>
>
> <span id="label">The Label</span>
>
> <input id="input" aria-label="ariaLabel" aria-labelledby="label input"
> value="the value">
>
>
>
> Choices
>
>    1. “The label ariaLabel”
>    2. “The label the value”
>    3. “The label ariaLabel the value”
>    4. Something else…
>
>
>
>
>
> *James Nurthen (he/him)*
> *Accessibility engineer*
>
> T 415 832 2734 <(415)%20832-2734>
> nurthen@adobe.com
>
> [image: Adobe]
>
>
>
>
>
>
>
>
>

Received on Wednesday, 6 January 2021 19:38:17 UTC