Skip to content

The old value is announced and then the new value gets announced a well when we spin the spinbutton #950

Description

@havvamehfooz

We identified a reproducible issue in JAWS (Focus Mode, Virtual PC Cursor Off) with a standards-valid ARIA spinbutton implemented on a div element.
The issue is related to the TimePicker’s and DateTimePicker’s spinbuttons:

  1. Open a picker
  2. Navigate to the hours, minutes or seconds spinbuttons
  3. Press arrow down/up

Observe that the old value is announced and then the new value gets announced a well when we spin the spinbutton.
That brings cognitive load to the users.

When pressing Arrow Up or Arrow Down, JAWS announces the current value and then the updated value, resulting in a double announcement.
The same behavior is not reproducible with NVDA (or other major screen readers in our checks), which announce only the updated value.

Why this is valid implementation:

ARIA spinbutton is valid on a non-native element such as div when required semantics and keyboard interaction are provided.
The control includes the required attributes (role spinbutton, aria-valuenow, aria-valuemin, aria-valuemax, focusability, keyboard handling).
No WAI-ARIA requirement mandates pre-announcing the old value before script updates.
Given cross-screen-reader behavior and standards alignment, this appears to be a JAWS-specific interoperability issue for ARIA spinbutton on div.

Reproducible with a minimal HTML examaple:
https://jsfiddle.net/xg25ptac/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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