Greasy Fork

accessibility_网页工具箱

提供一些小功能,增强使用屏幕阅读器访问网页的体验

目前为 2018-04-22 提交的版本。查看 最新版本

// ==UserScript==
// @name         accessibility_网页工具箱
// @namespace    https://www.zhihu.com/people/yin-xiao-bo-11
// @version      0.1
// @description  提供一些小功能,增强使用屏幕阅读器访问网页的体验
// @author       Veg
// @include    https://*
// @include    http://*
// @grant        none
// ==/UserScript==

document.body.addEventListener("keydown", function (k) {
  //图片 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 = "http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=xiaobo&tok=24.8d55cc810d994b48a5ef0b7f37514d55.2592000.1526958962.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);