僅使用標(biāo)準(zhǔn) HTML,現(xiàn)代網(wǎng)絡(luò)應(yīng)用程序可能會將有輔助功能需求的用戶拒之門外。
HTML 是主要的在線標(biāo)記語言,近 83% 的現(xiàn)有網(wǎng)站都在使用。盡管自創(chuàng)建以來 25 年來發(fā)生了一些變化,但即使是較新的迭代,例如 HTML5 和 AMP,也有很多不足之處,尤其是在可訪問性方面。這就是 ARIA 的用武之地。在本教程中,我將討論 ARIA 是什么、為什么它對您的網(wǎng)站有用,以及將其添加到您的網(wǎng)站的幾種方法。
p>
什么是 ARIA?
ARIA,也稱為 WAI-ARIA,代表 Web Accessibility Initiative 的可訪問富互聯(lián)網(wǎng)應(yīng)用程序。完整的規(guī)格文檔可以在這里找到。請注意,完整的規(guī)范文檔相當(dāng)密集,因此最好先閱讀這篇文章并查看下面鏈接的其他一些資源。
ARIA 的主要目的是允許 HTML 中的高級語義結(jié)構(gòu)作為 HTML 語法繁重性質(zhì)的對應(yīng)物。換句話說,HTML 告訴瀏覽器事物的走向,而 ARIA 告訴瀏覽器它們?nèi)绾谓换ァ?/p>
誰負(fù)責(zé) ARIA?
ARIA 是由 W3C(萬維網(wǎng)聯(lián)盟)主辦的項目。該項目遵循與其他計劃相同的更新和編輯標(biāo)準(zhǔn)。他們還提供了一個 GitHub 存儲庫,其中包含多個測試,您可以運行這些測試來確保您的頁面正常運行。
我當(dāng)前的網(wǎng)站標(biāo)記有什么問題?
大多數(shù)具有結(jié)構(gòu)化、深思熟慮設(shè)計的網(wǎng)站在自適應(yīng)技術(shù)(即屏幕閱讀器)方面都做得足夠好。然而,讓用戶能夠弄清楚如何使用您的網(wǎng)站和讓它易于使用是不同的事情。低視力用戶占人口的近 2%,對于他們來說,這種差異可能意味著在嘗試執(zhí)行基本在線任務(wù)時節(jié)省大量時間和偵查工作。這可能是為游客提供壯觀的體驗和為他們提供迷宮般的導(dǎo)航之間的區(qū)別。
除了傳統(tǒng)的可訪問性之外,ARIA 正在尋找一種技術(shù),為標(biāo)準(zhǔn)交互提供新的視角。越來越多的語音系統(tǒng)、聚合瀏覽(例如汽車嵌入式計算機)和其他創(chuàng)新正在利用 ARIA,利用其增強的語義功能。
好的,但是它有什么作用呢?
總體而言,ARIA 以語義上有意義的方式將元素連接在一起。它為用戶提供了有關(guān)交互的附加含義。以下是一些如何使用它的實際示例:
- 關(guān)聯(lián)非嵌套元素:使用純 HTML,用戶的瀏覽器只能看到基于父/子關(guān)系的關(guān)系。然而,在某些情況下,我們可能需要一系列與 HTML 層次結(jié)構(gòu)中的內(nèi)容平行的按鈕。借助 ARIA,我們可以定義每個按鈕的控制器類型,以及它在文檔其他位置控制什么元素。
聲明交互元素:雖然 HTML 提供了一些用于交互的元素,但 ARIA 定義了更多元素,從而可以更精細(xì)地描述頁面每個元素的功能。此外,這些可以分配給 HTML 標(biāo)記,這些標(biāo)記通常不用于此類目的,但在您的特定情況下可能有意義。例如,您可以將
標(biāo)記用于一系列您不希望由表單元素組成的復(fù)選框。實時區(qū)域更新通知:ARIA 提供的另一個功能是“實時”內(nèi)容區(qū)域的定義。當(dāng)以這種方式定義內(nèi)容區(qū)域時,只要該元素內(nèi)的內(nèi)容發(fā)生更改,ARIA 就會通知用戶。當(dāng)確保弱視用戶知道您的頁面上發(fā)生了某些變化時,這非常有用。
將 ARIA 添加到您的網(wǎng)頁
我們已經(jīng)討論了 ARIA 的功能,現(xiàn)在讓我們看一些最常見的示例。我們將在每個部分開始時簡要說明我們希望實現(xiàn)的目標(biāo),然后是如何實現(xiàn)該目標(biāo)的代碼示例。
使用 ARIA 創(chuàng)建替代標(biāo)簽
說到替代標(biāo)簽,大多數(shù)開發(fā)人員都熟悉 alt
屬性,該屬性常用于 標(biāo)簽。該標(biāo)簽有一個重要的用途:描述它所附加的圖像以提高可訪問性(或作為常見的 SEO 策略,具體取決于您的觀點)。
ARIA 提供了一個名為 aria-label
的類似屬性,該屬性可以附加到任何 HTML 元素,不僅提高了圖像的可訪問性,還提高了網(wǎng)站部分、表單控件等的可訪問性。下面是一個示例:
<!-- adding alternative labeling to an image (with non-visible text) --> <img aria-label="Descriptive image text" src="#" /> <!-- adding alternative labeling to an image (with visible text) --> <img aria-labelledby="image-text-desc" src="#" /> <div id="image-text-desc">A text description of the image, visible on the screen</div>
登錄后復(fù)制
定義 ARIA 特定的 UI 元素
HTML 已經(jīng)提供了許多用于創(chuàng)建網(wǎng)頁的元素,但它們的主要焦點通常是一般性地定義一個區(qū)域并向用戶呈現(xiàn)網(wǎng)站的結(jié)構(gòu)。 ARIA 提供了幾十個附加元素,這些元素更注重元素的使用方式,例如計時器、工具提示或進(jìn)度欄。
此處使用的示例是您可能會在表單上找到的工具提示。創(chuàng)建模式的方法有很多種,從觸發(fā)一些 JavaScript 的鏈接到懸停在上面時創(chuàng)建模式的元素。這里缺少的一點是,盡管它可能對視力正常的用戶有效,但弱視用戶可能甚至不知道工具提示的存在。
您可以使用 ARIA 定義工具提示,如下所示:
<!-- Defining a question mark image as a tooltip UI element --> <img src=”questionmark.png” role=”tooltip” />
登錄后復(fù)制
可用的 ARIA 定義
為了擴(kuò)展這些 UI 元素,這里簡要列出了一些可以定義的最有趣的“角色”。完整的列表可在參考的規(guī)范文檔中找到。
搜索
banner
演示
工具欄
status
menuitem
log
dialog
link
在父/子結(jié)構(gòu)之外建立關(guān)系
現(xiàn)在讓我們擴(kuò)展一下我們之前討論過的一點:HTML 的強制結(jié)構(gòu)。雖然父母/孩子的關(guān)系有利于決定事情應(yīng)該如何排序,但當(dāng)需要更有意義的聯(lián)系時,它就顯得不足了。兄弟元素就是一個例子。一些庫添加了遍歷兄弟元素或其他形式的元素關(guān)系的功能,但這通常發(fā)生在 JavaScript 或標(biāo)記之外的其他語言中。
ARIA 使我們能夠在標(biāo)記中直接定義這些關(guān)系,從而更輕松地對菜單項進(jìn)行分組、創(chuàng)建非標(biāo)準(zhǔn)導(dǎo)航以及將控件附加到通常難以完成的元素區(qū)域。
讓我們看一下如何使用它來將一些控件連接到內(nèi)容區(qū)域:
<img src=”nextbutton.jpg” role=”button” aria-controls=”tutorial” /> <div id=”tutorial”> Your tutorial's content </div>
登錄后復(fù)制
此代碼段表示 nextbutton.jpg 圖像是一個按鈕,它是下面教程 div
的控件。
在 ARIA 中創(chuàng)建“實時”元素
我們將在此處介紹的 ARIA 的最后一個功能是 aria-live
屬性。雖然 ARIA 的大多數(shù)其他功能都處理語義連接,但這一功能直接涉及向用戶提供內(nèi)容或元素更改通知的想法。
對于許多視力不佳的人來說,可能無法立即清楚他們與您網(wǎng)站的交互是否導(dǎo)致了頁面其他位置的變化。對于細(xì)微的變化尤其如此,例如可能會發(fā)生變化但保持相對相同長度的小文本摘要。通過使用此屬性,每次定義元素內(nèi)的內(nèi)容發(fā)生更改時,您的用戶都會收到通知。
我們可以將此屬性添加到元素中,如下所示:
<div aria-live=”true”> Content that updates, ie. guided directions </div>
登錄后復(fù)制
讓網(wǎng)絡(luò)成為所有用戶更美好的地方
略多于 2% 的美國人口帶有某種形式的低視力標(biāo)簽,提高網(wǎng)站的可訪問性可以顯著提高網(wǎng)站的覆蓋范圍。對于那些網(wǎng)站覆蓋多個國家的公司來說,這個數(shù)字會更大。除了可訪問性之外,ARIA 還為非瀏覽器界面提供了一種利用您的網(wǎng)站的方法,許多基于語音的設(shè)備已經(jīng)提供了支持。
實施 ARIA 可以幫助您的用戶,也可以幫助您的流量,所以開始吧!
我是否遺漏了任何細(xì)節(jié),或者您還有其他問題嗎?請在下面發(fā)表評論!
如果您想深入了解完整的 ARIA 文檔或嘗試官方測試工具,請查看以下鏈接:
ARIA 創(chuàng)作實踐
完整的 ARIA 規(guī)范文檔
測試工具示例報告
以上就是從 ARIA 開始:增強網(wǎng)站的可訪問性的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!