Re: Accname question regarding self-references

Aaron,
As Joanie points out to me if you follow this argument through 2E also states to only use the value if it is a control embedded within the label for another widget. My testcase in the chromium bug is not so it should certainly not use the value there.
Regards,
James


James Nurthen (he/him)  |  Accessibility Engineer  |  Adobe  |  T 415 832 2734  |  nurthen@adobe.com



From: Aaron Leventhal <aleventhal@google.com>
Date: Wednesday, January 6, 2021 at 11:38 AM
To: Bryan Garaventa <bryan.garaventa@levelaccess.com>
Cc: James Nurthen <nurthen@adobe.com>, Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>, "public-aria@w3.org" <public-aria@w3.org>
Subject: 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<mailto: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<mailto:Bryan.Garaventa@LevelAccess.com>
415.624.2709<tel:(415)%20624-2709> (o)
www.LevelAccess.com<http://www.levelaccess.com/>

From: James Nurthen <nurthen@adobe.com<mailto:nurthen@adobe.com>>
Sent: Wednesday, January 6, 2021 10:40 AM
To: Bryan Garaventa <bryan.garaventa@levelaccess.com<mailto:bryan.garaventa@levelaccess.com>>; Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com<mailto:Carolyn_MacLeod@ca.ibm.com>>; public-aria@w3.org<mailto: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<tel:(415)%20832-2734>  |  nurthen@adobe.com<mailto:nurthen@adobe.com>



From: Bryan Garaventa <bryan.garaventa@levelaccess.com<mailto:bryan.garaventa@levelaccess.com>>
Date: Wednesday, January 6, 2021 at 10:31 AM
To: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com<mailto:Carolyn_MacLeod@ca.ibm.com>>, "public-aria@w3.org<mailto:public-aria@w3.org>" <public-aria@w3.org<mailto:public-aria@w3.org>>
Subject: RE: Accname question regarding self-references
Resent-From: <public-aria@w3.org<mailto: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<mailto:Bryan.Garaventa@LevelAccess.com>
415.624.2709<tel:(415)%20624-2709> (o)
www.LevelAccess.com<http://www.levelaccess.com/>

From: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com<mailto:Carolyn_MacLeod@ca.ibm.com>>
Sent: Wednesday, January 6, 2021 9:05 AM
To: public-aria@w3.org<mailto: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<mailto:Carolyn_MacLeod@ca.ibm.com>>
To: public-aria@w3.org<mailto:public-aria@w3.org>
Cc: faulkner.steve@gmail.com<mailto:faulkner.steve@gmail.com>, nurthen@adobe.com<mailto: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<mailto:david@can-adapt.com>>
To: Steve Faulkner <faulkner.steve@gmail.com<mailto:faulkner.steve@gmail.com>>
Cc: James Nurthen <nurthen@adobe.com<mailto:nurthen@adobe.com>>, ARIA Working Group <public-aria@w3.org<mailto: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



CanAdapt Solutions Inc.
Mobile:  613.806.9005<tel:(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<mailto: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<mailto: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<tel:(415)%20832-2734>
nurthen@adobe.com<mailto:nurthen@adobe.com>

[Adobe]

Received on Wednesday, 6 January 2021 19:43:36 UTC