【发布时间】:2021-08-24 00:40:26
【问题描述】:
我在互联网上看到很多关于 <a> 看起来像按钮的标签的讨论,以及所有链接必须遵守的规则。但是,我对 <button> 样式看起来像链接的标签感到困惑。
我正在创建一个单页应用程序,我的导航组件负责呈现/隐藏网站的不同部分。一次只能看到一个部分,因此我将每个部分视为一个具有自己路线的独特页面。
我的导航控件是按钮,而不是链接。我这样做是因为我知道没有任何有效的内容,我可以将其放在 href 中(假设隐藏的内容不存在于 DOM 中)。
我在互联网上读到,出于可访问性原因,按钮必须具有样式来识别按钮的优先级。理想情况下,我希望按钮看起来像链接,因为它们的行为与链接相似(尽管不相同)。
样式按钮看起来像链接是否存在任何可访问性问题?将这些按钮设置为按钮更有意义吗?如果它们看起来像按钮,那么优先级应该是什么?用css隐藏隐藏的“页面”是否更有意义,这样我就可以将按钮变成<a>标签并添加一个href?
这是单页应用程序的典型标记
<div>
<nav>
<ul>
<li>
<button data-name="Skills">Skills</button>
</li>
<li>
<button data-name="Projects">Projects</button>
</li>
<li>
<button data-name="History">History</button>
</li>
<li>
<button data-name="Employment">Employment</button>
</li>
<li>
<button data-name="Contact">Contact</button>
</li>
</ul>
</nav>
<div id="content-panel">
Home
</div>
</div>
底部div#content-panel 代表主页。它将被使用 JavaScript 的其他页面替换,其中包含网站的主要内容。
【问题讨论】:
-
@TannerDolby 这个问题与我的代码无关。
-
它与 HTML 语义有关,因此最好在可重现的示例中看到 HTML 结构。
-
@TannerDolby 很好,我添加了 HTML
标签: html css accessibility web-accessibility