bug(mat-stepper): on iOS device (iphone 15, iOS 18.5), any label or input field in stepper panel gets announced with 'tab' suffix
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
unknown
### Description
Hi Team,
We are observing one accessibility issue for mat-stepper on iOS device. The mat-stepper when used on android device or an windows then announces labels correctly. But when it is opened on iOS device, then screen reader read every field in tab panel with suffix 'tab'. Like in provided example for tabpanel in first step, screen reader reads like 'first step, last step tab' then 'next tab'. It doesn't announce 'next button' instead it announce all the elements in tabpanel with suffix tab.
### Reproduction
StackBlitz link: https://stackblitz.com/edit/2webe4ha?file=package.json
Steps to reproduce:
1. Open mat-stepper example on iOS device
2. listen to screen reader announcing the page contents
3. for first step it should announce next button as 'button next' but it announces as 'next tab'
### Expected Behavior
Fields should be properly announced when they are inside mat-stepper panel like for button it should read as 'next button' .
### Actual Behavior
Fields inside mat-stepper panel are getting announced with 'tab' suffix like for next button, it is reading as 'next tab'.
### Environment
- Angular: v20.1.0
- CDK/Material: v20.1.0
- Browser(s):
- Operating System (e.g. Windows, macOS, Ubuntu): iOS device
Contributor guide
Research direction
Start with the linked StackBlitz reproduction and inspect the mat-stepper example using Angular/CDK Material v20.1.0 on an iOS device with its screen reader enabled. Compare announcements for the stepper panel's labels, inputs, and Next button with Android or Windows behavior. Done means the panel's controls are announced by their correct roles rather than with a “tab” suffix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100