我已在我的网络应用中添加了跳转到标题上的主要内容链接。它在Windows和MacOS中按预期工作。它甚至可以在iPhone中按预期工作。但同样不适用于Android chrome / talk back。
当我进一步检查时,即使在webaim.org中,此跳过导航链接也不起作用。我引用的代码https://www.bignerdranch.com/blog/web-accessibility-skip-navigation-links/
有人可以帮助解决为什么android chrome有这个问题吗?它是一种浏览器行为吗?请帮忙。
答案 0 :(得分:3)
让我们分析一下这种情况下发生的事情。
1)TalkBack将
ACCESSIBILITY_FOCUS
设置为元素
这非常重要,请注意,这表示ACCESSIBILITY_FOCUS
不是FOCUS
。要使隐藏的skipnav链接变得可见,需要使用FOCUS
将元素标记为可见(或者可能在屏幕上移动它):focus伪选择器是一种非常常见的实现。这样一个控件收到FOCUS
是非常重要的,它从来没有使用过TalkBack。
2)用户双击以点击他们刚刚听到的元素获得焦点。
当用户激活控件时,物理点击事件被设置到控件的屏幕焦点矩形的中间。与实际触摸屏幕类似。
3)浏览器会在页面上看到物理点击事件。
TalkBack基本上盲目地将鼠标按下事件发送到页面的一个区域,该区域没有任何内容,或者可能是另一个控件覆盖了这个不可见元素。无论哪种方式,浏览器想要点击的内容从来都不是“可见的”#34;因为它从未正确获取FOCUS
ACCESSIBILITY_FOCUS
,所以控件不会被点击。