adobe / adobe/react-spectrum

DateField: VoiceOver identifies Date Segment as stepper, but increment/decrement Controls does not work

Open
#8,591 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
15.9k
Forks
1.6k
Avg merge
3d 9m
Merged PRs (30d)
59

Description

### Provide a general summary of the issue here

VoiceOver incorrectly identifies date segment as stepper, but `Control + Option + Up/Down Arrow` does not change the value

### 🤔 Expected Behavior?

When using VoiceOver on macOS, if a date segment (such as day, month, or year) is identified as a stepper, pressing `Control + Option + Up Arrow` should increase the value, and `Control + Option + Down Arrow` should decrease the value accordingly

### 😯 Current Behavior

VoiceOver identifies the date segment as a stepper and announces that the value can be changed using `Control + Option + Up/Down Arrow`. However, pressing these key combinations does not actually change the value. The interaction appears unresponsive, and the date segment remains unchanged

### 💁 Possible Solution

Explicitly implementing accessibility increment/decrement behaviour in the component so that VoiceOver can trigger value changes as expected when using `Control + Option + Up/Down Arrow`

### 🔦 Context

For the native date input, Voiceover correctly identifies it as stepper and `Control + Option + Up/Down Arrow` works
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/date

### 🖥️ Steps to Reproduce

1. Open the following component in Safari on macOS: https://react-spectrum.adobe.com/react-aria/DateField.html
2. Enable VoiceOver (Command + F5)
3. Navigate to the date segment
4. VoiceOver announces the segment as a stepper and says you can change the value using `Control + Option + Up/Down Arrow`
5. Attempt to use `Control + Option + Up/Down Arrow`
6. Observe that the value does not change

### Version

3.34.1

### What browsers are you seeing the problem on?

Firefox, Chrome, Safari

### If other, please specify.

_No response_

### What operating system are you using?

macOS

### 🧢 Your Company/Team

_No response_

### 🕷 Tracking Issue

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the DateField example at react-spectrum.adobe.com/react-aria/DateField.html and reproduce the issue using Safari on macOS with VoiceOver enabled. Compare the component's behavior with the native date input described on MDN; done means VoiceOver's Control + Option + Up/Down Arrow changes the focused date segment as announced.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.