angular / angular/components

bug(Material Stepper): Certain ARIA roles must contain particular children Error

オープン
#26,444 コメント 13 件 リアクション 8 件 担当者 0 名 GitHub で見る
Accessibility area: material/stepper P4
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

### 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

_No response_

### Description

The documentation for the stepper appears to indicate that this should not be occurring based on the role for the stepper being a tablist and the roles for steps being tab. I think the problem comes from some interim nodes between the tabs and the tablist.

### Reproduction

Steps to reproduce:
1. navigate to the material stepper examples page: https://rc.material.angular.io/components/stepper/examples
2. run a scan of it using the axe def tool chrome extension: https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US
3. You will see that it will result in 14 instances of the error "Certain ARIA roles must contain particular children". That is one for each stepper on the example page.

### Expected Behavior

Running the WCAG2.1 AA compliance scan should not find the "Certain ARIA roles must contain particular children" issue which is considered a critical aria issue.

### Actual Behavior

Running the WCAG2.1 AA compliance scan finds the "Certain ARIA roles must contain particular children" issue which is considered a critical aria issue.

There is no clear way to resolve this issue with the stepper component.

### Environment

- Angular: 15
- CDK/Material: 15.1.0
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Windows

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Angular Material stepper examples page から始め、axe DevTools Chrome extension を使用して問題を再現します。stepper のレンダリングされた ARIA ロールと、tablist とその tab 子要素の間にある中間ノードを調査します。例に対する WCAG 2.1 AA スキャンで "Certain ARIA roles must contain particular children" が報告されなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
accessibility, frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。