溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

HTML5的Landmark如何使用

發(fā)布時間:2022-02-21 10:00:44 來源:億速云 閱讀:154 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“HTML5的Landmark如何使用”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

什么是 Landmark

Landmark 是一種用來表示網(wǎng)頁組織結(jié)構(gòu)的方法。通常一個網(wǎng)頁可以被切分成幾個大塊

HTML5的Landmark如何使用

以一個視頻網(wǎng)站為例,網(wǎng)頁的最上方是一條banner,左側(cè)是一個導(dǎo)航欄,右側(cè)顯示視頻。網(wǎng)頁可以通過這種切分方式來分割出不同的功能區(qū)。當(dāng)然在一個功能區(qū)內(nèi)也可以遞歸地進(jìn)行切分,這里先不展開。
對于一個視力障礙者,他無法像常人一樣理解從視覺角度傳達(dá)出的網(wǎng)頁結(jié)構(gòu)信息,那么就需要網(wǎng)頁開發(fā)者預(yù)先將網(wǎng)頁的結(jié)構(gòu)規(guī)劃好,并將結(jié)構(gòu)信息寫在HTML代碼里,最終將網(wǎng)頁的結(jié)構(gòu)信息通過讀屏軟件表達(dá)出來。
而landmark就是連接網(wǎng)頁結(jié)構(gòu)信息和讀屏軟件的橋梁。網(wǎng)頁開發(fā)者通過landmark對網(wǎng)頁區(qū)域進(jìn)行標(biāo)注,讀屏軟件讀取landmark信息并傳達(dá)給視力障礙者。

如何使用 Landmark

事實(shí)上,在HTML5 landmark出現(xiàn)之前,就已經(jīng)有l(wèi)andmark的概念了。
landmark有以下幾種main,navigation,complementary,banner,contentinfo,form,region,search。通過使用<div role="main">就定義了一個main landmark。

而在HTML5中定義了一些全新的標(biāo)簽,并賦予他們隱式的landmark語義。
HTML5 Landmark主要有以下幾種

HTML ElementLandmark Role
<main>main
<nav>navigation
<aside>complementary
<header>banner
<footer>contentinfo
<form>form
<section>region

這些標(biāo)簽本身就隱含著landmark的含義,也就是說<main><div role="main">是完全等價的。

對于search landmark沒有定義專用的HTML標(biāo)簽,通常使用<form role="search">來實(shí)現(xiàn)。

也就是說,在上一節(jié)引用的網(wǎng)頁中

  1. 對于1號區(qū)域,應(yīng)當(dāng)把所有的內(nèi)容放到一個<header></header>中,標(biāo)識該部分是banner

  2. 對于2號區(qū)域,應(yīng)當(dāng)把所有的內(nèi)容放到一個<nav></nav>中,標(biāo)識該部分是導(dǎo)航欄

  3. 對于3號區(qū)域,應(yīng)當(dāng)把所有的內(nèi)容放到一個<main></main>中,標(biāo)識該部分是網(wǎng)頁的主要內(nèi)容
     

讀屏軟件會生成一系列的跳轉(zhuǎn)鏈接來幫助視力障礙者確定網(wǎng)頁的結(jié)構(gòu)并迅速跳轉(zhuǎn)至需要的部分。

在HTML5之前,只能通過role屬性來定義landmark,HTML5推出的新標(biāo)簽?zāi)軌蛟诒3挚稍L問性的情況下簡化標(biāo)記。但并不是每個用戶使用的輔助工具都支持最新的標(biāo)準(zhǔn),因此許多教程推薦使用<main role="main">的寫法來同時兼容兩種標(biāo)準(zhǔn)。W3C的標(biāo)準(zhǔn)不鼓勵在已經(jīng)含有隱式語義的情況下使用role屬性,因?yàn)閮烧哒Z義沖突的情況下可能導(dǎo)致無法預(yù)計(jì)的表現(xiàn)。

區(qū)分同類型的 Landmark

有時候頁面中可能會有多個導(dǎo)航欄,分別有不同的作用。比如一個電商網(wǎng)站有一個主導(dǎo)航來跳轉(zhuǎn)到購物車、收藏夾等不同的頁面;還有一個產(chǎn)品導(dǎo)航來跳轉(zhuǎn)到電子產(chǎn)品、嬰兒產(chǎn)品。如何對兩者進(jìn)行區(qū)分呢,這里需要使用aria-label或者aria-labelledby屬性。

<nav aria-label="主導(dǎo)航">
  <ul>
    <li>主頁</li>
    <li>購物車</li>
    <li>收藏夾</li>
  </ul>
</div>
        
<nav aria-label="產(chǎn)品導(dǎo)航">
  <ul>
    <li>嬰兒產(chǎn)品</li>
    <li>電子產(chǎn)品</li>
    <li>體育產(chǎn)品</li>
  </ul>
</div>

這樣讀屏軟件會分別生成以下兩個鏈接

  • 導(dǎo)航,主導(dǎo)航

  • 導(dǎo)航,產(chǎn)品導(dǎo)航
     

這樣就將不同的landmark區(qū)分開了。

使用讀屏軟件讀取 Landmark

為了更好地理解landmark,我嘗試使用讀屏軟件來測試網(wǎng)頁上的landmark。這里我使用的是Windows系統(tǒng)自帶的講述人。

HTML5的Landmark如何使用

按下Caps Lock + F5來顯示網(wǎng)頁中所有的landmark。

HTML5的Landmark如何使用

按下Caps Lock + N,可以看到講述人光標(biāo)移動到了網(wǎng)頁的主要內(nèi)容部分。

HTML5的Landmark如何使用

使用D或Shift + D可以在landmark間切換,同時會朗讀出每個landmark的信息。
這里可以看到有一個search landmark,它在banner landmark的內(nèi)部,這就是landmark嵌套的情況。對于landmark嵌套有一系列的規(guī)則,感興趣的讀者可以自己了解。

“HTML5的Landmark如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI