Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按enter键时,使用tabindex=";后锚定标记不起作用;0“;对于它周围的div包装器_Javascript_Html_Css_Accessibility - Fatal编程技术网

Javascript 按enter键时,使用tabindex=";后锚定标记不起作用;0“;对于它周围的div包装器

Javascript 按enter键时,使用tabindex=";后锚定标记不起作用;0“;对于它周围的div包装器,javascript,html,css,accessibility,Javascript,Html,Css,Accessibility,我有一个问题,safari没有关注我的锚元素,因此我在div周围使用了tabindex=“0”,现在按enter键链接在任何浏览器中都不起作用,如果我做错了什么,请告诉我 <div class="used__button" tabindex="0"> <a href="/new/sales/lights/red-lamps">Find Used</a> </div> 在使用t

我有一个问题,safari没有关注我的锚元素,因此我在div周围使用了tabindex=“0”,现在按enter键链接在任何浏览器中都不起作用,如果我做错了什么,请告诉我

    <div class="used__button" tabindex="0">
<a href="/new/sales/lights/red-lamps">Find Used</a>
</div>


在使用tabindex之前,我使用tabinde=“0”在chrome上按enter键操作的链接,在tab上为safari中的元素提供焦点,以便于访问。

您不应该将两个可聚焦元素一个放在另一个中,因为不应该有两个可单击元素一个放在另一个中。 这是一个像你在这里遇到的一个奇怪的错误无尽的来源

在内部元素中按enter键时,事件是否应冒泡出来? 在这种情况下,是否应该同时执行多个操作? 当内部元素聚焦时,外部元素是否仍然聚焦? 我怎么知道有两个不同的区域,一个在另一个内部? 这类问题不是很清楚,可能无法始终很好地控制,并且/或者取决于浏览器。简言之,无论是对你还是那些可能发现你的网站行为怪异的用户来说,这都是不清楚的。 所以你最好完全避免这种模式

回到您的具体情况,您很可能应该从外部div中删除tabindex=0,以便让内部链接正常工作

或者,如果您真的认为div必须是可聚焦的,那么更好的解决方案是删除内部链接并将div更改为其所在位置的链接。
咏叹调的第一条规则是,如果你真的不需要,就不应该使用它;tabindex也是这样。使用CSS删除链接样式,如果这不是您想要的。

,用户需要在他们的浏览器中打开它。我在safariWell中打开了选项卡。对于其他浏览器,修复方法很简单,请删除周围div上的
选项卡索引
,因为它将占据焦点,而不是链接本身(尽管如果再次按tab键,您应该仍然能够聚焦链接)。如果你启用了标签,那么超链接应该可以正常工作,你确定这不仅仅是因为你没有一个可见的焦点指示器,你有没有使用过重置CSS文件?@GrahamRitchie有可能是drupal网站在drupaltry中使用了自定义主题添加
a:focus{outline:5px solid#333!important}
添加到您的CSS文件中,查看是否只是因为它们删除了焦点指示器。如果是这样,您只需将它们添加回您自己的文件中即可。正如我所说,您显示的HTML应该在没有
tabindex=“0”的情况下工作
。唯一的另一件事是右键单击并检查是否有任何事件侦听器连接到该链接,这些事件侦听器可能有问题。