再來談談 UI 的設計, 這次是無障礙 ( Accessibility ) 設計的重要性…
過去我沒有那麼在意 “無障礙” 設計的重要性,但是最近這半年我改觀了,因為這是讓 AI 也能使用應用程式的關鍵設計。看到這趨勢報告的這段我很認同這觀點。這一切都要從我們期待 “Agent” 能做甚麼開始談起。
兩年前我在談 AI 的可讀性,你的服務 ( API ) 能否正確地被 AI 理解並加以運用? 以我實作安德魯小舖的經驗來看,良好的 API 設計 (符合邏輯),明確的規格定義 (符合 OpenAPI Spec) 都是重點。而這兩年來的進步,AI 使用工具的能力,已經從 API 進步到 UI 了。例如 Anthropic 推出的 Computer Use 就是一例, 只要你願意, AI 可以像機器人一般代替你操作 / 使用 Application..
如同 API 有設計要點,能讓 AI 理解與運用,那麼 UI 呢? 看了這段,我覺得很貼切,那就是 “無障礙設計”。我先用幾句話,交代一下甚麼是 “無障礙設計” :
—
無障礙 ( Accessibility ) 設計的基本精神,就是讓所有使用者,包含視覺障礙、聽覺障礙、行動障礙、認知障礙的使用者都能順利操作的設計指南。具體一點來說,視障人員需要的是能放大 (若能去除雜訊更好) + 螢幕朗讀;聽障需要的是影片語音應該有替代文字或字幕,而操作障礙的人可能無法使用鍵盤或滑鼠,必須有更簡易或是可替代的操作方式等等…
—
這些設計,跟 AI 有何關聯? AI 各種領域的發展方向,都是要變成使用者的 “代理人”,替你處理所有事務。AI 必須理解你操作軟體時的 context。目前的 AI 還是純軟體,不是機器人,沒有真正的視覺跟觸覺,因此軟體形態存在的 AI Agent, 能理解操作軟體的管道,無障礙的設計就成了最佳的管道。
AI 無法真正 “看到” 操作畫面。即使已經有 Computer Use 的能力 (不斷的擷取螢幕畫面),現今的運算能力其實還沒辦法到 100% 可用,對於視障人員的設計,就等於幫了 AI 的大忙。同樣的,各種面向的無障礙設計,等於都替沒手沒腳沒眼睛沒耳朵的 AI 開了一扇窗,讓他也能理解應用程式狀態。
所以,文章內舉了幾個例子,越來越多這類代理軟體,開始會要求作業系統的 Accessibility API 存取權限,就是這個原因。另外我舉一個例子,是工作上實際碰到的: UI automation:
應該很多人都用過 Playwright MCP 了。如果你對 Agent 自動操作的要求沒有擴及所有的 desktop app, 而只限定 browser 的話,那 Playwright MCP 是個好工具。不過當你認真使用時,你會發現畫面上明明 “登入” 按鈕就在那邊,但是 AI 就是找不到… 一個簡單的操作嘗試了好幾次才會成功..
我曾經挖過幾套類似工具的設計, 有的工具會傳回 HTML 讓 AI 判讀,這類的設計通常找得比較準,但是效率很糟糕,HTML 很容易就超過 context window .. 而 Playwright MCP 不同, Microsoft 會先精簡 HTML, 只轉出重要的節點變成 YAML, 但是很多資訊就此遺失, 導致 AI 無法找到網頁上的重要資訊…
過程中我越想越不對, Microsoft 應該不會做這種蠢事才對, 一定是我們忽略了什麼.. 結果強者我同事找到關鍵了, Microsoft 將 HTML 精簡成 YAML 的過程中,會參考網頁的 Accessibility 標記, 簡單的說,只要你的網頁有遵循 Accessibility 設計, Playwright MCP 就能精準還原結構, AI Agent 就能精確地按照你的語意操作網站。
這我覺得已經是個重要的趨勢了,AI 的趨勢真的會改變很多事情。我在查 Accessibility 資訊時,查到世界衛生組織 (WHO) 做過統計,全球的視障人數達 3.38 億,聽障 4.3 億.. 從這數字可能有些開發人員還不會把無障礙設計擺在第一位,但是如果每個使用者都同時會運用 1 ~ 5 個不同的 AI Agent 呢? 把這些都有無障礙設計需求的 “使用者” 算進去的話,這已經會變成未來設計的主流了。
如果你不希望未來 AI Agent 操作你的應用程式會碰到障礙的話,開始做好無障礙的設計吧。最後我用這段趨勢報告的標題做結尾:
Accessibility as the universal interface, Apps through the eyes of an LLM.
文內提到的資訊,我放在第一則留言:
