Skip to content

Dashboard filter fields have no accessible group name #295

Description

@BorisTyshkevich

Problem

The Dashboard filter field collection has no accessible group name.

src/ui/dashboard.ts calls buildFilterBar(...) without ariaLabel, so .dash-filters renders without:

role="group"
aria-label="Dashboard filters"

The detached query view already passes ariaLabel: 'Query filters' through the same shared builder.

Required change

Pass ariaLabel: 'Dashboard filters' in the Dashboard buildFilterBar(...) call.

Do not change buildFilterBar() defaults. Callers that omit ariaLabel must continue rendering without an implicit group name.

Regression test

Add a Dashboard integration assertion in tests/unit/dashboard.test.ts using a Dashboard with at least one filter:

const filterBar = qs(app.root, '.dash-filters');
expect(filterBar.getAttribute('role')).toBe('group');
expect(filterBar.getAttribute('aria-label')).toBe('Dashboard filters');

Do not duplicate the existing shared-builder unit test for ariaLabel; this test must verify the Dashboard wiring.

Acceptance criteria

  • Dashboard filter fields render with role="group".
  • The accessible name is exactly Dashboard filters.
  • Detached query filters remain named Query filters.
  • Callers without ariaLabel retain current behavior.
  • A Dashboard-level regression test covers the wiring.
  • No visual, layout, execution, persistence, or debounce behavior changes.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    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