在无障碍方面做哪些努力，才能让视障朋友流畅使用手机？
我是看到 @夏冰莹 老师的帖子进来的。跟答一波。 @夏冰莹 老师是无障碍设计方面的专家，她的帖子从好几个方面介绍了怎么对Web应用做无障碍方面的优化。作为一名Web前端开发者，我从开发的角度来聊聊怎么让Web应用更具可访问性。 在国内的Web应用或App具有可访问性（即对应用做了无障碍优化）并不多，从“信息无障碍协会”官网上就可以获知一二： 基本上是一些大公司在做，即使是大公司会对自己的应用在无障碍方面有所要求，也并不表示所有链路都对无障碍方面做了优化。结果也是参差不齐。 另外，国内在无障碍方面的法制建设也还处于向前推进当中：  残联也在推动国家信息无障碍的立法工作，主要是计划今年内把2012年国务院发布的《无障碍环境建设条例》升级为《无障碍环境建设法》，进一步从法律层面保障残疾人等社会成员自主安全地获取信息及信息相关服务、通行道路、出入相关建筑物、搭乘公共交通工具等。 就Web而言，自从@蒂姆伯纳斯-李 创建万维网开始，都在提倡：“互联网是平等的，每个人都应该享有平等访问互联网的权利”。 W3C的Web无障碍推进(WAI)提供了一组被国际公认为Web无障碍标准指南。 还有一个用于 无障碍富网络应用(WAI-ARIA)的WAI规范，其中包括使用Ajax、JavaScript和相关Web技术开发的动态内容和高级用户界面控件。 而事实上，Web开发者在开发Web应用的时候却选择性的忽略了这些规范，即使有的Web开发者会根据这些规范来开发Web应用或优化Web应用无障碍，也大部分是停留在针对视弱、色盲，盲人群体做优化。这也造成一个误区，可访问性（无障碍设计）就是为残障人士服务的 ，甚至一度的认为：可访问性（无障碍）设计就是为盲人服务的 。 事实上呢？并非如此。因为有障碍 指的并不是残疾，应该把问题放到场景中来考虑： 我们可以把有障碍分成： 想象一下下图这些场景： 基于这一点，我们在设计和开发我们的应用时，就应该考虑到： 更具包容性，更具多元化。但有一点，我们需要知道： 换句话说，要让一个Web应用真正的具有可访问性，绝不仅仅只是让读屏软件能获取到信息那么简单。因为这样做只是为依赖于屏幕阅读器的用户能提供一个好的服务。即使如此，但也是好的一面，因为你或者你的团队在考虑无障碍方面的事情，这就是进步的。 作为Web开发者，具体优化无障碍方面的技术能力是最基础的要求，也是Web开发者自己的一种素养，也是团队应该培养的文化，同时也是自己和公司应该承担的一种社会责任。 在这一年多以来，我自己也在不断提高这方面的技术能力，希望自己和自己团队开发出来的应用能让更多的用户群体有一个更好的体验。接下来，简单的介绍我自己是怎么做的。 WebAIM的报告中列出了Web可访问性存在的几大问题： 别的不说，我们可以先从上面列的这几出发，让自己开发的应用避免上面提到的这几个最能引起应用不具可访问性的现象。因为，我们优化上面这几点，是非常的简单。简单到你在编码的时候只要顺便的添加几个属性，几个属性值。 我们还可以从不同的方面来对无障碍进行优化： 上面列出的只是其中的一小部分。我想说的是，我们在开发Web应用的时候，在编写HTML、CSS、JavaScript有很多细节和相应的技术都可以帮助我们开发出来的Web应用更具可访问性。为此也整理了一些这方面的经验：    要彻底的让自己的应用更具可访问性，需要的理论知识会很多，要对相关的规范有一定的了解，比如HTML5规范，WCAG规范，WAI-ARIA规范等，另外除了了解这些规范还是不够，还需要去实战，只有在实战过程中才能让自己在这方面更具经验。 另外，用户代理或辅助技术对这些规范的支持程度也不一样，同一特性在不同的用户代理和辅助技术上向用户呈现的效果也是有所差异的。 虽然掌握这些规范和相关知识并没有捷径，也没有速成法，但我们可以通过一些工具来帮助我们更好的构建可访问性的应用，也可以通过这些工具帮助我们快速了解构建Web可访问性相关的知识。 现在主流的现代浏览器都有很多这方面的优秀工具，比如Chrome浏览器： 也有一些其他的工具可以配置到自己的工程体系中，比如： 配置之后，编码的时候就会发现有问题的地方：  这些工具都有一个共同的特点，在每个错误提示的下面都有相应的指导链接，比如Chrome中的Lighthouse Audit就提供了修复的链接地址，在对应的链接文章中有相关的指导原则。我们可以根据这些指导原则来修复无障碍的问题，同时也可以从中学习和积累无障碍优化方面的经验。另外维护Lighthouse Audit的团队在web.dev站点上提供了很多关于Web可访问性相关的知识，比如Accessible to all： 还有 Accessibility audits 提供的相关链接，就是优化Web无障碍的一些指导原则： 如果你希望自己的Web应用被Chrome中的Lighthouse Audit或其他检测工具拿到高分的话，还可以花一些时间深入的了解Lighthouse accessibility scoring提供的相关信息： 另外，我也在小站上分享了一些有关于Web可访问性相关的文章，感兴趣的话可以点击下面的链接进行阅读： 其实在一些娱乐方面有关于无障碍的优化会更困难一些。比如以前还在互动团队的时候，做无障碍优化就相对来说更困难。因为互动的项目相比其他的项目来说： 来看两个优化后的视频效果： 这两个视频最大的特色和难点就是怎么让游戏区内（canvas）中的对象能让读屏幕软件识别。有关于这方面的更详细的介绍可以阅读： 虽然经过一年多来的探究和尝试，互动项目在Web可访问性方面取得了一点成绩，但其中还有很多东西我们需要继续努力。另外，A11Y不是一个短暂的过程，它应该是一个持续性的过程，我们应该持续探究这里面的技术点，通过技术给用户提供更好的体验。 接下来在新的团队 :imgcook 设计稿智能生成代码平台 也在探究将AI智能方面的能力结合进来，比如说，使用imgcook转出来的Web组件或Web页面就具有可访问性的能力。 临时整理的，有点乱。如果对无障碍方面和智能AI生成代码方面感兴趣的话。欢迎有机会一起探讨！