// ==UserScript== // @name accessibility_网页工具箱 // @namespace https://www.zhihu.com/people/yin-xiao-bo-11 // @version 0.1.2 // @description 提供一些小功能,增强使用屏幕阅读器访问网页的体验 // @author Veg // @include http://*/* // @include https://*/* // @grant none // @downloadURL none // ==/UserScript== document.body.addEventListener("keydown", function (k) { //清除页面焦点 if (k.ctrlKey && k.altKey && k.keyCode == 187) { var focusElement = document.activeElement; focusElement.blur(); } //图片 tabindex var img = document.querySelectorAll('img'); for (var i = 0, l = img.length; i < l; i++) { if (k.altKey && k.keyCode == 221) { img[i].setAttribute('tabindex', '0'); } if (k.altKey && k.keyCode == 219) { img[i].removeAttribute('tabindex', '0'); } } // 网页综述统计 if (k.ctrlKey && k.altKey && k.keyCode == 222) { var a = document.querySelectorAll('a[href],[role="link"]'); if (a.length > 0) { var aS = "链接" + a.length + "个;"; } else { var aS = ""; } var button = document.querySelectorAll('button,[role="button"],input[type="button"]'); if (button.length > 0) { var buttonS = "按钮" + button.length + "个;"; } else { var buttonS = ""; } var input = document.querySelectorAll('input[type="text"],[role="textbox"],textarea'); if (input.length > 0) { var inputS = "文本框" + input.length + "个;"; } else { var inputS = ""; } var select = document.querySelectorAll('select,[role="combobox"]'); if (select.length > 0) { var selectS = "组合框" + select.length + "个;"; } else { var selectS = ""; } var checkbox = document.querySelectorAll('input[type="checkbox"],[role="checkbox"]'); if (checkbox.length > 0) { var checkboxS = "复选框" + checkbox.length + "个;"; } else { var checkboxS = ""; } var heading = document.querySelectorAll('h1,h2,h3,h4,h5,h6'); if (heading.length > 0) { var headingS = "标题" + heading.length + "个;" } else { headingS = ""; } var img = document.querySelectorAll('img'); if (img.length > 0) { var imgS = "图片" + img.length + "张;" } else { imgS = ""; } var zs = aS + buttonS + inputS + selectS + checkboxS + headingS + imgS; var zhText = encodeURI(zs); var parameter = "&vol=7&per=0&spd=9&pit=7"; var voicebbUrl = "https://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=xiaobo&tok=24.e63fd11b1facb48916cf05975ffdf7b2.2592000.1530363030.282335-10594751&tex=" + zhText + parameter; var audio = document.querySelector('audio.audio-audios'); { audio.src = voicebbUrl; audio.play(); } } }, null); var audio = document.createElement("audio"); audio.className = "audio-audios"; audio.src = ""; audio.volume = 1; document.body.appendChild(audio);