Skip to content

Can't review/spell text of accessible names applied with aria-label/labelledby in focus mode #15159

@jscholes

Description

@jscholes

When a control on a web page is given an accessible name via aria-label or aria-labelledby, and NVDA's focus mode is active, the text of the control's name cannot be spoken or spelled with the "report current line" command, nor reviewed with text review commands. This is a significant problem in apps like Slack, where each message is wrapped inside a list item with a custom accessible name. In focus mode, the message cannot be repeated, spelled, or moved through by character without reverting to browse mode first.

Steps to reproduce:

  1. Navigate to https://jscholes.github.io/invisible-names.html in Chrome.
  2. Press NVDA+Space until focus mode is active.
  3. Tab to the first button, which has an accessible name of "Button 1" applied with an aria-label attribute.
  4. Press NVDA+Up Arrow (desktop) or NVDA+L (laptop) to report the current line. Press the same keystroke quickly to spell it.
  5. Press other text review keystrokes, like Numpad 1 and Numpad 3 to navigate through the name of the button by character.
  6. Tab to the second button, which is named "Button 2" via an aria-labelledby attribute, and repeat steps 4 and 5.
  7. Repeat steps 2 through 6 in Firefox.

Actual behavior:

The name of the button is announced when focused, but the "report current line" command and other text review commands behave as though the button has no name. For the button using aria-label, NVDA explicitly announces "blank" when trying to review its name. But for the second button that uses aria-labelledby, the relevant commands only result in silence.

Speech Log

NVDA+space
Focus mode
tab
Button 1 button
NVDA+l
blank
numpad 1
Left
blank
numpad 3
Right
blank
tab
Button 2 button
NVDA+l

numpad 1
Left

numpad 3
Right

Expected behavior:

The name of the focused button is announced when using the "report current line" command, while other text review commands allow the name to be reviewed as text. There is no difference between controls named via aria-label and aria-labelledby. Here is a speech log of how it might sound:

NVDA+space
Focus mode
tab
Button 1 button
NVDA+l
Button 1
numpad 1
Left
cap B
numpad 3
Right
u
tab
Button 2 button
NVDA+l
Button 2
numpad 1
Left
cap B
numpad 3
Right
u

NVDA logs, crash dumps and other attachments:

None

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2023.1

Windows version:

Windows 10 Pro, 64-bit, build 19045

Name and version of other software in use when reproducing the issue:

  • Chrome 114.0.5735.199 (Official Build) (64-bit)
  • Firefox 115.0.2 (64-bit)

Other information about your system:

None

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

No

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    p3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions