我已經了解了鍵盤可訪問性的重要性,所以我知道聚焦元素的視覺指示非常重要。但眾所周知的 :focus 偽類並不總是最適合這項工作。這就是 :focus-visible 的用武之地。讓我們看看這兩個偽類之間的差異,並探索有效使用它們的最佳實踐。
:focus 偽類是一個 CSS 選擇器,它將樣式套用於任何接收焦點的元素,無論焦點是如何觸發的。這包括來自鍵盤導航、滑鼠點擊和觸控互動的焦點事件。
button:focus { outline: 2px solid blue; }
在此範例中,只要按鈕獲得焦點,無論使用者是使用滑鼠點擊它、在觸控螢幕上點擊它還是使用鍵盤導航到它,該按鈕都會顯示藍色輪廓。
:focus-visible 偽類更專業。只有當瀏覽器確定焦點應該可見時,它才會將樣式套用到元素。當使用者透過鍵盤或輔助技術而不是透過滑鼠或觸控輸入進行導航時,通常會發生這種情況。
button:focus-visible { outline: 2px solid blue; }
在這裡,當透過鍵盤導航或其他通常需要可見焦點指示器的輸入方法獲得焦點時,按鈕只會顯示藍色輪廓。
為了實現最佳的可訪問性和使用者體驗,在 CSS 中結合使用 :focus 和 :focus-visible 通常是一個好主意。
button:focus { outline: 2px solid blue; }
這是一個 Stackblitz 範例,展示了此類樣式的外觀,供您嘗試和使用:
:focus-visible 偽類提供了一種更精細的方式來管理焦點指示器,提高可訪問性和用戶體驗,特別是對於鍵盤和輔助技術用戶。透過了解 :focus 和 :focus-visible 之間的差異,並在 CSS 中應用最佳實踐,您可以創建更易於存取和用戶友好的 Web 應用程式。
請記住,可訪問性永遠不應該是事後的想法。透過深思熟慮地應用焦點樣式,您可以確保所有用戶,無論他們如何與您的網站交互,都可以輕鬆導航和互動。
以上是理解 CSS 中 `:focus` 和 `:focus-visible` 之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!