2017-04-05 32 views
0

因此,我有一個SPA angular 1.5應用程序,當用戶導航到新頁面時,有時該頁面沒有任何自動對焦的輸入,例如,只是表示用戶註冊成功的祝賀頁面。我已經能夠通過做如何強制mac screenreader自動讀取div中的標題文本?

$('。registration-confirmation')。attr(「tabIndex」,0).focus();

所以屏幕閱讀器自動讀出在報名確認格文,但後來我也有防止藍色的輪廓從焦點

.registration,確認{ &的CSS:重點{ 大綱:0; //刪除焦點上的webkit注入輪廓 } }

有沒有更簡單的方法來做到這一點?有可能的詠歎調屬性?

回答

2

是的,停止這樣做 - 不是很好的可訪問性,特別是因爲你現在通過搞亂焦點指示器而困惑了我。 ARIA角色來處理這個正確的方法:

  • 如果你想報告錯誤,這應該讓ARIA role="alert",這將立即獲得通過屏幕閱讀器宣佈並侵入所以不應該使用寬鬆。
  • 要成功舉報或獲得其他進展,可以使用ARIA role="status";但是,仍然不會濫用它。例如,如果用戶通過下一步跳到成功的註冊屏幕,將其應用於除簡單「祝賀」之外的任何內容都是不合適的。

我建議您查看各種示例用途的ARIA最佳實踐文檔。

+0

我試圖 恭喜 並沒有工作(屏幕閱讀器沒讀什麼了),但 祝賀 確實工作 – WinchenzoMagnifico

+0

這是典型的。狀態角色通常用於諸如進度條或等效文本更新(例如「準備」,「安裝」,然後「完成」),但只有持續關注時纔會連續發佈。另一方面,警報會打斷我正在做的其他事情,讓我知道我需要採取行動。這就是爲什麼應該謹慎使用它的錯誤或類似事件。 –