对于内部的嵌套按钮标签,还有其他标签,例如部分,标签,段落。屏幕阅读器将所有标签叙述为按钮
我有一个可访问性错误是,依靠屏幕读取器的用户正在受到影响,因为NVDA正在使用down down arrow键进行导航,以多次叙述信息的多次信息。 内部有一个按钮标签,还有其他标签。但是,屏幕阅读器将其他标签读为按钮,我需要解决这个问题。
期望屏幕读取器显示仅一次叙述按钮一次,只是不再使用其他标签重复。
<button class="btn" [ngClass]="{'border-color-Red': answer?.AnswerId == 1,
'border-color-Orange': answer?.AnswerId == 2,
'border-color-Yellow': answer?.AnswerId == 3,
'border-color-LightGreen': answer?.AnswerId == 4,
'border-color-Green': answer?.AnswerId == 5}" (click)="selectAnswer(answer)">
<section class="d-flex">
<section class="header" [ngClass]="{'color-Red': assesment?.SelectedAnswerId == 1 && answer?.AnswerId == 1,
'color-Orange': assesment?.SelectedAnswerId == 2 && answer?.AnswerId == 2,
'color-Yellow': assesment?.SelectedAnswerId == 3 && answer?.AnswerId == 3,
'color-LightGreen': assesment?.SelectedAnswerId == 4 && answer?.AnswerId == 4,
'color-Green': assesment?.SelectedAnswerId == 5 && answer?.AnswerId == 5,
'color-pink': answer?.AnswerId == 1,
'color-light-orange':answer?.AnswerId == 2,
'color-light-yellow':answer?.AnswerId == 3,
'color-light-yellowgreen':answer?.AnswerId == 4,
'color-green-light':answer?.AnswerId == 5}">
<h6 class="font-caption-alt">{{answer.AnswerId}} = {{answer.Answer}}</h6>
</section>
<section class="body">
<p>{{answer.AnswerDesciption}}</p>
</section>
<section class="footer">
<label class="font-caption">
<input type="radio" id="answer-{{assesment?.Id}}-select-{{answer.Id}}"
[attr.aria-label]="isSelectedAnswer(assesment, answer?.AnswerId)?'Selected Radio':'Not Selected Radio'"
name="{{assesment?.Id}}-select" (click)="selectAnswer(assesment,answer)"
[checked]="isSelectedAnswer(assesment, answer?.AnswerId)" tabindex="0" />
<label for="answer-{{assesment?.Id}}-select-{{answer.Id}}"></label>
Select
</label>
</section>
</section>
</button>
I have an accessibility bug that is Users who rely on screen readers are getting impacted as NVDA is narrating information multiple times for multiple buttons present in the page, while navigating using down arrow key.
There is a button tag inside there is other tags. But screen reader reading other tags as button, and I need to fix that.
Expecting that Screen reader show narrate only Button one time only not to repeat again with other tags.
<button class="btn" [ngClass]="{'border-color-Red': answer?.AnswerId == 1,
'border-color-Orange': answer?.AnswerId == 2,
'border-color-Yellow': answer?.AnswerId == 3,
'border-color-LightGreen': answer?.AnswerId == 4,
'border-color-Green': answer?.AnswerId == 5}" (click)="selectAnswer(answer)">
<section class="d-flex">
<section class="header" [ngClass]="{'color-Red': assesment?.SelectedAnswerId == 1 && answer?.AnswerId == 1,
'color-Orange': assesment?.SelectedAnswerId == 2 && answer?.AnswerId == 2,
'color-Yellow': assesment?.SelectedAnswerId == 3 && answer?.AnswerId == 3,
'color-LightGreen': assesment?.SelectedAnswerId == 4 && answer?.AnswerId == 4,
'color-Green': assesment?.SelectedAnswerId == 5 && answer?.AnswerId == 5,
'color-pink': answer?.AnswerId == 1,
'color-light-orange':answer?.AnswerId == 2,
'color-light-yellow':answer?.AnswerId == 3,
'color-light-yellowgreen':answer?.AnswerId == 4,
'color-green-light':answer?.AnswerId == 5}">
<h6 class="font-caption-alt">{{answer.AnswerId}} = {{answer.Answer}}</h6>
</section>
<section class="body">
<p>{{answer.AnswerDesciption}}</p>
</section>
<section class="footer">
<label class="font-caption">
<input type="radio" id="answer-{{assesment?.Id}}-select-{{answer.Id}}"
[attr.aria-label]="isSelectedAnswer(assesment, answer?.AnswerId)?'Selected Radio':'Not Selected Radio'"
name="{{assesment?.Id}}-select" (click)="selectAnswer(assesment,answer)"
[checked]="isSelectedAnswer(assesment, answer?.AnswerId)" tabindex="0" />
<label for="answer-{{assesment?.Id}}-select-{{answer.Id}}"></label>
Select
</label>
</section>
</section>
</button>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论