如何从浏览器的搜索功能中排除HTML文本节点?

Dan*_*scu 6 html browser accessibility

是否有一些ARIA或其他方式来标记给定的HTML节点,以便在用户在页面上搜索文本时跳过(Ctrl + F/Cmd + F)?

使用案例:隐藏搜索中的可访问/后备文本

示例:在此页面上搜索单词down.您应该只在上一句中找到该实例,但Chrome会显示与此问题的答案一样多的搜索结果,加上一个,因为问题本身和每个答案都有一个"d ... vote" a链接文本.

在此输入图像描述

这样的搜索结果没有突出显示,在搜索框中看到"1 of X"看起来令人沮丧,而没有任何可见的内容与用户搜索的内容相匹配.

小智 2

不确定我是否理解正确,但如果您开发自己的应用程序,而不是破解 SO 源代码,也许使用 CSS:before:after填充content属性的伪元素会有所帮助。

\n\n

例如,通过属性添加时,在 Safari、Chrome 和 Firefox 中找不到文本 \xe2\x80\x9dHello\xe2\x80\x9c content

\n\n
.text:before {\n    content: 'Hello';\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

Opera 12.x 在页面上查找单词,因此如果它的支持对您有意义,则此解决方案将不起作用。我也没有在任何版本的IE、移动浏览器和其他不常见的环境中进行测试。

\n