提问者:小点点

如何更改CreateReactApp的<div id=“root”></div>以提高Web可访问性?


使用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>

通过了eslintjsx-a11y/strict插件的验证,但是VSCode Web辅助功能插件建议用语义HTML替换
,或者为其分配WAI-ARIA角色属性(顺便说一下,Lighthouse在原始设置中也有一个标记,用于不包括地标区域,标题或跳线链接)。

简言之,我不知道是否应该修改该文件中的

行,以方便访问。 如果是,我应该使用哪个语义HTML标记或角色?


共2个答案

匿名用户

你不应该改变它。 记住自动化测试工具是愚蠢的。 他们可以看到你有一个div,猜测它应该是有语义的东西,但是他们不能确定。

据推测,React代码将使用语义元素(例如navmain)填充该div。 这将提供可访问性的语义需求。

注意,您链接到的VS代码扩展似乎是为测试静态HTML而设计的。 对于用客户端JS生成的页面来说,它是没有用的。

匿名用户

您可以尝试主标记而不是div和amp; 检查它是否解决了您的问题。