初始场景:
- PrimeNG 9.1.0
- 角 9.1.9
Google 的 Lighthouse 的可访问性测试注意到 PrimeNG下拉组件的 V 形元素缺少 Aria 标签(“按钮没有可访问的名称”)。
我在 HTML 文件中的用法:
<p-dropdown [options]="cities" [(ngModel)]="selectedCity"></p-dropdown>
PrimeNG 相应生成的 DOM 部分:
<div class="ng-tns-c5-7 ui-dropdown ui-widget ui-state-default ui-corner-all ui-dropdown-clearable">
<div class="ui-helper-hidden-accessible">
<input class="ng-tns-c5-7" aria-haspopup="listbox" readonly="" role="listbox" type="text" aria-label=" " kl_vkbd_parsed="true" aria-expanded="false">
</div>
<div class="ui-dropdown-label-container">
<span class="ng-tns-c5-7 ui-dropdown-label ui-inputtext ui-corner-all ui-placeholder ng-star-inserted">Select a City</span>
</div>
<div class="ui-dropdown-trigger ui-state-default ui-corner-right" aria-haspopup="listbox" role="button" aria-expanded="false">
<span class="ui-dropdown-trigger-icon ui-clickable pi pi-chevron-down">
::before
</span>
</div>
</div>
待解决的挑战:
如果我自己无法访问 PrimeNG 下拉组件的 V 形子元素(第 8 行),因此无法添加 aria 标签,如何添加它aria-label="action description"
?
目标场景:
通过 Lighthouse 可访问性测试。