早些时候,角度应用程序运行良好。
在核心文件中进行了一些更改,即祖父 html 标记,现在讲述人读出 div 元素:
“视图中没有项目”
这些更改包括从 6 到 7 的较新 Angular 版本,但看起来这不是原因,因为它在升级前一天发生了问题。但是由于 npm 的更新,可能会有一些 6.x 的小更新。
应用程序需要在 Edge 浏览器上运行。
如果您有类似的问题,请分享您的想法,提前谢谢。
(根据https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/回答我自己的问题)
即使一切正常,在 Chrome 中进行测试时,您也会收到“No item in view”错误。
在 Edge 浏览器中测试时,您不会收到任何错误。(在使用讲述人收听您的应用程序时,Ctrl+Win+Enter
在 Win10 中启动/停止)
使用tabindex
& role
,取决于什么 html 元素,以下之一可能有效:
<div tabindex="0" role="heading">A</div>
<div tabindex="0" role="textbox">A</div>
<span tabindex="0" role="alert">A</span>
<span tabindex="0" role="heading">A</span>
<p tabindex="0" role="presentation"></p>
<a tabindex="0" role="link">A</a>
<a tabindex="0" xrole="menuitem">A</a>
<ul tabindex="0" role="menu"><li tabindex="0" role="menuitem">A</li></ul>
<header tabindex="0" role="banner">A</header>
<footer tabindex="0" role="contentinfo">A</footer>
NOTE: Above not perfect to the syntax.
添加aria-label
or attr.aria-label
,当文本不同时,一个会为您工作:
<div tabindex="0" role="heading" aria-label="Text2">Text1</div>
OR
<div tabindex="0" role="heading" attr.aria-label="Text2">Text1</div>
对于 Edge,一切正常。
对于 Chrome 浏览器,div
/span
可能不起作用,然后将它们更改为h1, h2, etc
& 用 css 覆盖外观。
希望有帮助。随意更新这个答案,让它变得更完整,其他人会浪费更少的时间。