ionic-team / ionic-team/ionic-framework
bug: aria-expanded is ignored when used in ion-item (TalkBack)
- Lingua principale
- TypeScript
- Stelle
- 52.7k
- Fork
- 13.3k
- Merge medio
- 1g 15h
- PR unite (30g)
- 51
Descrizione
### Prerequisites
- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.
### Ionic Framework Version
v8.x
### Current Behavior
In our app we have some cases where we display some collapsible information without using ion-accordion, we implement the collapse/expand ourselves. The "expand" action is done clicking an ion-item, so we added aria-expanded to it. But Google Talkback is ignoring the aria-expanded attribute (I haven't tested it with VoiceOver yet).
The same implementation using a div works fine.
### Expected Behavior
Talkback should be able to detect aria-expanded, so it should read "expanded" or "collapsed".
### Steps to Reproduce
1. Open this URL in an Android device (e.g. in Chrome): [https://stackblitz.com/edit/prza28ny-qihwpnvt?file=src%2Fapp%2Fapp.component.ts,src%2Fapp%2Fapp.component.html](https://stackblitz.com/edit/prza28ny-qihwpnvt?file=src%2Fapp%2Fapp.component.ts,src%2Fapp%2Fapp.component.html)
2. Open the "Preview" panel and wait for the project to run.
3. Enable Talkback.
4. Select the "Content title" below "Using ion-item". Talkback will only read "Content title", it doesn't read the aria-expanded.
5. Now select the "Content title" below "Using div". Talkback will now read "Collapsed. Content title"
### Code Reproduction URL
https://stackblitz.com/edit/prza28ny-qihwpnvt?file=src%2Fapp%2Fapp.component.ts,src%2Fapp%2Fapp.component.html
### Ionic Info
Ionic:
Ionic CLI : 7.2.1
Ionic Framework : @ionic/angular 8.6.4
@angular-devkit/build-angular : 20.1.0
@angular-devkit/schematics : 19.2.15
@angular/cli : 20.1.0
@ionic/angular-toolkit : 12.2.0
Cordova:
Cordova CLI : 12.0.0 (cordova-lib@12.0.2)
Cordova Platforms : android 14.0.1, ios 7.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, (and 16 other plugins)
Utility:
cordova-res : not installed globally
native-run : 2.0.1
System:
ios-sim : 8.0.2
NodeJS : v22.17.0
npm : 10.9.2
OS : macOS Unknown
Xcode : Xcode 16.2 Build version 16C5032a
### Additional Information
_No response_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start with the reproduced ion-item and div examples in app.component.ts and app.component.html from the linked StackBlitz project. Run the reproduction on Android with TalkBack enabled and compare how aria-expanded is exposed for each element. Done means ion-item causes TalkBack to announce the expanded or collapsed state consistently with the div example.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- angular, typescript
- Ambito
- accessibility, frontend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100