0

早些时候,角度应用程序运行良好。

在核心文件中进行了一些更改,即祖父 html 标记,现在讲述人读出 div 元素:

“视图中没有项目”

这些更改包括从 6 到 7 的较新 Angular 版本,但看起来这不是原因,因为它在升级前一天发生了问题。但是由于 npm 的更新,可能会有一些 6.x 的小更新。

应用程序需要在 Edge 浏览器上运行。

如果您有类似的问题,请分享您的想法,提前谢谢。

4

1 回答 1

1

(根据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-labelor 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 覆盖外观。

希望有帮助。随意更新这个答案,让它变得更完整,其他人会浪费更少的时间。

于 2018-12-18T07:58:38.177 回答