屏幕 reader 多次读取列表项
Screen reader reads list items multiple times
我试图让一个项目完全无障碍,但屏幕阅读器多次从我的列表中读取一些元素。
编辑:这个问题似乎只发生在 google chrome
这是源代码:
<ul class="o-contact__list">
<li *ngIf="page?.result?.fields?.contactAddress">
{{ page?.result?.fields?.contactAddress }}
</li>
<li *ngIf="page?.result?.fields?.contactEmail">
{{ page?.result?.fields?.contactEmail }}
</li>
<li *ngIf="page?.result?.fields?.contactTel">
{{ page?.result?.fields?.contactTel }}
</li>
<li *ngIf="page?.result?.fields?.contactPrice">
{{ page?.result?.fields?.contactPrice }}
</li>
</ul>
这是 HTML 输出:
<ul class="o-contact__list">
<!--bindings={"ng-reflect-ng-if": "mainstreet 123"}--><li>
mainstreet 123
</li>
<!--bindings={"ng-reflect-ng-if": "info@email.com"}--><li>
info@email.com
</li>
<!--bindings={"ng-reflect-ng-if": "tel.: 555 7125"}--><li>
tel.: 555 7125
</li>
<!--bindings={"ng-reflect-ng-if": "free"}--><li>
free
</li>
</ul>
由于某种原因,第一项被阅读了 3 次。以下 2 项被阅读了两次,最后一项仅被阅读了 1 次。
我发现问题出在样式上。
列表项有一个 ::before
,这会导致多个读数出现问题。我将其更改为 ::after
这解决了问题。
我不知道为什么会这样,所以如果有人仍然知道这个问题的答案,我很乐意听到!
我试图让一个项目完全无障碍,但屏幕阅读器多次从我的列表中读取一些元素。
编辑:这个问题似乎只发生在 google chrome
这是源代码:
<ul class="o-contact__list">
<li *ngIf="page?.result?.fields?.contactAddress">
{{ page?.result?.fields?.contactAddress }}
</li>
<li *ngIf="page?.result?.fields?.contactEmail">
{{ page?.result?.fields?.contactEmail }}
</li>
<li *ngIf="page?.result?.fields?.contactTel">
{{ page?.result?.fields?.contactTel }}
</li>
<li *ngIf="page?.result?.fields?.contactPrice">
{{ page?.result?.fields?.contactPrice }}
</li>
</ul>
这是 HTML 输出:
<ul class="o-contact__list">
<!--bindings={"ng-reflect-ng-if": "mainstreet 123"}--><li>
mainstreet 123
</li>
<!--bindings={"ng-reflect-ng-if": "info@email.com"}--><li>
info@email.com
</li>
<!--bindings={"ng-reflect-ng-if": "tel.: 555 7125"}--><li>
tel.: 555 7125
</li>
<!--bindings={"ng-reflect-ng-if": "free"}--><li>
free
</li>
</ul>
由于某种原因,第一项被阅读了 3 次。以下 2 项被阅读了两次,最后一项仅被阅读了 1 次。
我发现问题出在样式上。
列表项有一个 ::before
,这会导致多个读数出现问题。我将其更改为 ::after
这解决了问题。
我不知道为什么会这样,所以如果有人仍然知道这个问题的答案,我很乐意听到!