HTML – 有没有办法在中搜索可搜索的文本?

在大多数浏览器中使用Ctrl-F将允许您搜索文本,但仅在文本区域中搜索.我想搜索哪些应该是可访问区域的文本,这些区域不一定是文本渲染区域,例如< map ...>< area title =“searchable text”/>< / map>和< img alt =“可搜索文字”/>.是否有可以满足我要求的浏览器或插件?这个东西在这里是可访问性的,但它似乎并非真正可访问(除了鼠标悬停,这也不是所有可访问的).

注意

所需的答案不会使用与视图分离的内容.即搜索代码不是一个选项,因为这很难阅读(尤其是在复杂的页面上),并且没有显示信息在呈现页面上的位置.

解决方法

Is there a browser or addon that will do what I’m asking for?

哦,是的. Lynx浏览器做到了.
但我想这不是解决方案;-)

如果您的问题是这样,则无法覆盖CTRL F在浏览器中执行的操作.

您可以在网站内设计自定义插件,也可以为浏览器设计插件.这很容易……但需要其他捷径.

如果你的主要问题是根据他们的alt或title属性内容定位标签,这在javascript中很容易:

var search='enter image';
 var nodes=document.querySelectorAll("[alt*='"+search+"'],[title*='"+search+"']");

然后,您可以使用jquery或您想要的内容突出显示匹配的节点.

for (i in nodes) {
   nodes[i].className+=' resultHighlighted';
}

并滚动到第一个结果:
节点[0] .scrollIntoView();

如果您打算创建一个浏览器插件,您可以创建自定义书签或自定义插件,并将快捷方式与此书签相关联(请参阅https://github.com/iSunilSV/Chrome-Bookmark-Shortcut)

一个简单的书签,通过title或alt属性查找第一个匹配并滚动到它将是这样的:

javascript:text=prompt("search inside alt or title attribute");
document.querySelector("[alt*='"+text+"'],[title*='"+text+"']").scrollIntoView();

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些