这是一个相当简单的可访问性问题。

假设我们有一个切换链接/按钮,当点击它时,会切换移动菜单。对于此类按钮,哪种格式更易于访问?

我们总共有 4 个选项,由

  • button 标签与
  • a 标签,


  • onclick 属性与
  • $("#showMenu").on("click", function() { showMenu() } )

  • 所有选项
  • <a href="#" onclick="showMenu();"></a>
  • <button onclick="showMenu();"></button>
  • <a href="#" id="showMenu"></a>
  • $("#showMenu").on("click",function() { showMenu() } );
  • <button id="showMenu"></button>
  • $("#showMenu").on("click",function() { showMenu() } );

  • 优点和缺点

    我已经读过,为了获得最佳的可访问性,应该将 <button> 标签用于 javascript 操作,而 <a> 标签用于普通链接。不幸的是,我再也找不到那篇文章了。

    人们总是说“将逻辑与内容分开”。我的回答是:你真的认为你的 Javascript showMenu() 函数可以在没有那个链接的情况下工作吗?那么,您真的将逻辑与内容分开了吗?

    沿着这些思路,我确实喜欢使用事件处理程序来附加事件的想法,但是,这使得 代码在某些情况下更难维护,而不是更容易。如果我稍后删除该链接或更改 ID 或类,我将失去该功能。 onclick 属性提醒我要小心行事。如果我有多个链接,或者希望符合 508(见下一段),我将使用事件处理程序。

    508 标准要求每个 onclick 属性都附带一个等效的键盘属性。这让我抓狂,因为键盘用户可以通过键触发 onclick 事件,并且习惯于为文本链接这样做。* 此外,如果您添加任何类型的 onkeyup 事件处理程序,您需要过滤键等,这样用户就不会“卡住”在您的链接上,从而完全无法浏览网站的其余部分。

    *见注:http://alistapart.com/article/popuplinks#section6

    我的问题
  • <button> 标签对可访问性更好吗?
  • 为什么或为什么不呢?
  • 4 个中哪一个对可访问性最好?

  • 请注意,这个问题类似于以下问题,但我对 <button><a> 参数更感兴趣。另外,以下问题甚至没有提到可访问性,这是我主要关心的。
    jQuery.click() vs onClick

    最佳答案

    很多这是一个意见问题,但对我来说,当一个按钮执行一个操作时,一个链接会带你去某个地方。在你的情况下,如果是我,我会使用一个按钮。正如你提到的,我会使用 onclick 和它一起使用,以免以后忘记它。

    所以你的选择#2。

    关于jquery - 链接点击与按钮点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30770399/

    10-11 11:19