一句话:提出自动探索移动应用并借助辅助服务检测无障碍障碍的爬虫,无需人工输入且可生成复现视频。
现有移动平台无障碍测试工具主要检查单个屏幕是否符合从无障碍指南推导出的规则,却难以发现只有在与屏幕阅读器等辅助服务交互时才暴露的问题。少数辅助服务驱动测试方法又依赖开发者手工构造输入或已有 UI 测试用例。本文提出 Groundhog,一个面向移动应用的自动化无障碍爬虫:它自动探索应用,分别在启用与未启用辅助服务的条件下评估 UI 元素功能,从而定位无障碍障碍,并生成直观视频以帮助复现问题。实验表明,Groundhog 能有效发现现有技术无法检测的无障碍障碍;基于该工具对大量真实应用开展的实证研究还揭示了新的关键无障碍问题类别,为后续研究指明方向。
Accessibility is a critical software quality affecting more than 15% of the world’s population with some form of disabilities. Modern mobile platforms, i.e., iOS and Android, provide guidelines and testing tools for developers to assess the accessibility of their apps. The main focus of the testing tools is on examining a particular screen’s compliance with some predefined rules derived from accessibility guidelines. Unfortunately, these tools cannot detect accessibility issues that manifest themselves in interactions with apps using assistive services, e.g., screen readers. A few recent studies have proposed assistive-service driven testing; however, they require manually constructed inputs from developers to evaluate a specific screen or presume availability of UI test cases. In this work, we propose an automated accessibility crawler for mobile apps, Groundhog, that explores an app with the purpose of finding accessibility issues without any manual effort from developers. Groundhog assesses the functionality of UI elements in an app with and without assistive services and pinpoints accessibility issues with an intuitive video of how to replicate them. Our experiments show Groundhog is highly effective in detecting accessibility barriers that existing techniques cannot discover. Powered by Groundhog, we conducted an empirical study on a large set of real-world apps and found new classes of critical accessibility issues that should be the focus of future work in this area.