TaskAudit: Detecting Functiona11ity Errors in Mobile Apps via Agentic Task Execution
Mingyuan Zhong, Xia Chen, Davin Win Kyi, Chen Li, James Fogarty, Jacob O. Wobbrock
TL;DR
TaskAudit introduces Task-Au-dit, a system that detects functiona11ity errors in mobile apps by simulating screen reader-driven interactions. It combines a Task Generator (from screenshots), a Task Executor (with a screen reader proxy and multi-agent planning), and an Accessibility Analyzer to identify errors from interaction traces. In evaluations over real-world apps, TaskAudit detected 48 of 78 functiona11ity errors on 54 screens, outperforming static checkers that identified 4–20 errors, and revealed error patterns such as label-functionality mismatches, cluttered navigation, and inappropriate feedback. The work demonstrates the value of simulating actual screen reader user experiences for more comprehensive automated accessibility testing and suggests hybrid approaches combining agentic analysis with traditional crawling for even broader coverage.
Abstract
Accessibility checkers are tools in support of accessible app development and their use is encouraged by accessibility best practices. However, most current checkers evaluate static or mechanically-generated contexts, failing to capture common accessibility errors impacting mobile app functionality. We present TaskAudit, an accessibility evaluation system that focuses on detecting functiona11ity errors through simulated interactions. TaskAudit comprises three components: a Task Generator that constructs interactive tasks from app screens, a Task Executor that uses agents with a screen reader proxy to perform these tasks, and an Accessibility Analyzer that detects and reports accessibility errors by examining interaction traces. Evaluation on real-world apps shows that our strategy detects 48 functiona11ity errors from 54 app screens, compared to between 4 and 20 with existing checkers. Our analysis demonstrates common error patterns that TaskAudit can detect in addition to prior work, including label-functionality mismatch, cluttered navigation, and inappropriate feedback.
