Skip to content

[Bug]: Two groups of settings sections have no name for screen readers #35078

Closed

Description

@nibarAhmed

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Steps to reproduce

  1. Turn on NVDA and open Settings.
  2. In focus mode, Tab from the settings search field through the sections, from General down to Archive.
  3. In browse mode, press H to jump between the section groups.

Expected behavior

All five groups of settings sections have a name, used both as the group's heading and as its group label (aria-labelledby), the way Agents, Code and Connections work since #30841.

The two groups without a name need one. My suggestion:

Group Sections Suggested name
First General, Appearance, Chat, Diffs & pull requests, Keybindings, Voice, SnapShots App
Last Maintenance, Labs, About, Archive More

"General" is already a section name, so the first group needs something else. Both names, and whether they show on screen, are a design call for maintainers:

  • Visible, like the other three: only the two heading: null values in SETTINGS_NAV_GROUPS change. The wide nav gains two labels. The icon rail looks the same, because headings are already screen-reader only there.
  • Screen-reader only: nothing changes on screen, but these two groups need a per-group flag to hide their heading at every width.

I can open the PR once the names are picked.

Actual behavior

The first group (General → SnapShots) and the last group (Maintenance → Archive) have neither a heading nor a group label. In apps/web/src/components/settings/settingsSearch.ts both have heading: null, so SettingsSidebarNav.tsx renders no <h3> and leaves aria-labelledby unset on the role="group".

  • In focus mode, tabbing into Agents, Code or Connections announces the group ("Agents grouping"). Tabbing into the first or last group announces nothing.
  • In browse mode, H can't land on the first group, and the last group reads as if it belongs under Connections.

I reported this in a comment on #30841 (#30841 (comment)). The first half of that comment was fixed before the merge; this half was left open. I heard the behavior with NVDA on that PR's branch, and the markup for these two groups is the same on main @ ee90bdc.

Impact

Minor bug or occasional failure

Version or commit

main @ ee90bdc

Environment

Windows 11, NVDA 2026.3, T3 Code desktop

Logs or stack traces

Screenshots, recordings, or supporting files

No response

Workaround

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions