使用create-react-app创建React应用程序时,它将生成public/index.html
文件,如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- <meta>, <link>, <title> here -->
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div> <!-- Can this be made more accessible? -->
</body>
</html>
行
jsx-a11y/strict
插件的验证,但是VSCode Web辅助功能插件建议用语义HTML替换,或者为其分配WAI-ARIA角色属性(顺便说一下,Lighthouse在原始设置中也有一个标记,用于不包括地标区域,标题或跳线链接)。简言之,我不知道是否应该修改该文件中的
行,以方便访问。 如果是,我应该使用哪个语义HTML标记或角色?
你不应该改变它。 记住自动化测试工具是愚蠢的。 他们可以看到你有一个div,猜测它应该是有语义的东西,但是他们不能确定。
据推测,React代码将使用语义元素(例如nav
和main
)填充该div。 这将提供可访问性的语义需求。
注意,您链接到的VS代码扩展似乎是为测试静态HTML而设计的。 对于用客户端JS生成的页面来说,它是没有用的。
您可以尝试主标记而不是div和amp; 检查它是否解决了您的问题。