{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreifaah7j5okyfo5zknqyucd5o3aqt4zj7yt2ujy65nuiqlrcq5gaf4",
"uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpubjzzot3g2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreie2p6dwb3hr3uw6jhuiqp54h2snotq7c23unqevbos473mtc4wabu"
},
"mimeType": "image/webp",
"size": 78812
},
"path": "/okeke_chukwudubem_5f3bf49/project-log-12-i-spent-a-week-auditing-apps-the-results-changed-this-project-3h62",
"publishedAt": "2026-07-04T23:14:06.000Z",
"site": "https://dev.to",
"tags": [
"ai",
"webdev",
"programming",
"productivity"
],
"textContent": "Day 12. I tested 15 popular Android apps for accessibility. What I found revealed who gets left behind.\n\nI took a week off from coding.\n\nNot because I was stuck. Not because I was tired. But because I needed to understand something that had been nagging at me since Day 10.\n\nWhy does my AI agent work flawlessly on WhatsApp but completely fail on my banking app?\n\nThe answer took a week of testing, documenting, and thinking. And what I found changed the direction of this entire project.\n\n**The Week-Long Audit**\n\nI tested 15 popular Android apps. For each one, I asked the same question: \"Can my agent find and tap a core button using the UI tree?\"\n\nI spent hours opening apps, dumping UI hierarchies, parsing XML, and documenting every content description I could find. I wasn't coding. I was investigating.\n\nApp | UI Tree Labels | Agent Can Automate?\n---|---|---\nWhatsApp | Excellent | ✅ Fully\nGoogle Messages | Excellent | ✅ Fully\nGmail | Excellent | ✅ Fully\nGoogle Maps | Excellent | ✅ Fully\nSpotify | Good | ✅ Mostly\nSlack | Good | ✅ Mostly\nBanking App A | None | ❌ Completely blind\nBanking App B | None | ❌ Completely blind\nBanking App C | None | ❌ Completely blind\nLocal Food Delivery App | Minimal | ❌ Mostly blind\nGovernment Service App | None | ❌ Completely blind\nTelecom App | Minimal | ❌ Mostly blind\n\nThe pattern was impossible to ignore. Global apps had rich accessibility labels. Local apps had nothing.\n\n**What This Actually Means**\n\nHere's the truth I wasn't ready for.\n\nAccessibility labels exist so that screen readers can tell blind and visually impaired users what's on their screen. When a developer adds `content-desc=\"Send message\"` to a button, they're helping a blind person use WhatsApp.\n\nWhatsApp invested in accessibility. Google invested in accessibility. Their apps are usable by millions of people with disabilities—and, accidentally, by my AI agent.\n\nThe local apps that skipped accessibility didn't just lock out my agent. They locked out every blind and visually impaired person who needs to use that banking app, that government service, that telecom platform.\n\nMy AI agent is not the victim here. It's a canary in a coal mine.\n\n**The Accessibility Divide**\n\nThis divide follows a clear pattern. Global tech companies with large engineering teams and legal departments prioritise accessibility. They have dedicated accessibility engineers. They test with screen readers. They follow WCAG guidelines.\n\nLocal apps, often built by smaller teams with tighter budgets, deprioritise accessibility. It's seen as a \"nice to have\" rather than a core requirement. The result is an entire class of applications that are unusable by people with disabilities—and by AI agents.\n\n**What I'm Doing About It**\n\nI'm adding an accessibility score to every app my agent supports. A simple A-F rating.\n\n**A** — Fully automatable. Rich labels everywhere. (WhatsApp, Google apps)\n**B** — Mostly automatable. Good labels with some gaps. (Spotify, Slack)\n**C** — Partially automatable. Some labels, mostly generic.\n**D** — Mostly blind. Few labels. Heavy reliance on OCR fallback.\n**F** — Completely inaccessible. No labels. Unusable by both AI and screen readers.\n\nThis score isn't just for my agent. It's a public signal. If your app scores an F, you're not just failing my project. You're failing every visually impaired person who tries to use your service.\n\n**What's Next (Day 13)**\n\n * Expand the audit to 30+ apps\n * Publish the first version of the accessibility score list\n * Start reaching out to local app developers about their accessibility gaps\n\n\n\n**The Repo**\n\n👉 **github.com/Dexter2344/phone-agent**\n\nThe audit results are being added to the README. The scoring system is documented.\n\nThis is Day 12. I spent a week not writing code. And it was the most productive week of this entire project.",
"title": "Project Log #12: I Spent a Week Auditing Apps. The Results Changed This Project."
}