通過(guò)瀏覽器插件的方式來(lái)改造網(wǎng)頁(yè)的無(wú)障礙問(wèn)題,使視障用戶能更加輕松的上網(wǎng)。

在以前寫(xiě)過(guò)一篇使用JS代碼動(dòng)態(tài)無(wú)障礙適配網(wǎng)頁(yè)內(nèi)容的文" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢(xún) 在線咨詢(xún)
15158846557 在線咨詢(xún)
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 無(wú)障礙優(yōu)化之如何制作Google Chrome插件

無(wú)障礙優(yōu)化之如何制作Google Chrome插件

時(shí)間:2023-07-05 09:00:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-07-05 09:00:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

無(wú)障礙優(yōu)化之如何制作Google Chrome插件:

本篇文章將講解如何制作Google Chrome插件

通過(guò)瀏覽器插件的方式來(lái)改造網(wǎng)頁(yè)的無(wú)障礙問(wèn)題,使視障用戶能更加輕松的上網(wǎng)。

在以前寫(xiě)過(guò)一篇使用JS代碼動(dòng)態(tài)無(wú)障礙適配網(wǎng)頁(yè)內(nèi)容的文章,主要是通過(guò)在瀏覽器地址欄輸入js代碼,從而改變網(wǎng)頁(yè)元素的屬性,使其達(dá)到無(wú)障礙效果。




以下是原文鏈接:

你網(wǎng)站信息無(wú)障礙不友好?視障工程師是這樣對(duì)網(wǎng)站動(dòng)刀子來(lái)無(wú)障礙上網(wǎng)的





然而,這種方式在實(shí)際使用中并不是很方便,每次刷新頁(yè)面都要手動(dòng)執(zhí)行一次js代碼,顯得非常麻煩。




那么有沒(méi)有一種方式,能夠自動(dòng)加載腳本代碼,使頁(yè)面元素自動(dòng)添加無(wú)障礙屬性的呢?




近日,在學(xué)習(xí)Chrome插件的過(guò)程中,就想到了可以通過(guò)編寫(xiě)Chrome插件的方式,自動(dòng)執(zhí)行無(wú)障礙腳本,使頁(yè)面元素能自動(dòng)添加無(wú)障礙屬性,使視障人士更好的瀏覽網(wǎng)頁(yè)。




下面就以一個(gè)簡(jiǎn)單的Chrome插件為例,帶領(lǐng)大家了解如何編寫(xiě)無(wú)障礙插件,改變頁(yè)面元素屬性,從而讓網(wǎng)頁(yè)元素達(dá)到無(wú)障礙的效果。

· 首先我們新建一個(gè)文件夾,命名為“demo”

· 然后在demo文件夾內(nèi)新建三個(gè)文件,分別是:

manifest.json
background.html
Accessibility.js



一、manifest.json

此文件為清單文件,每個(gè)Google Chrome插件都應(yīng)包含該文件
清單內(nèi)容如下:

{"background": {"page": "background.html"//后臺(tái)加載的HTML文件}, "content_scripts": [ { "js": [ "accessibility.js" ],//需要執(zhí)行的js文件 "matches": [ "http://*/*", "https://*/*", "ftp://*/*", "file://*.*" ]//匹配的網(wǎng)址 } ], "name": "無(wú)障礙插件",//插件的名稱(chēng) "version": "1.1.0",//插件的版本號(hào) "description": "這是一個(gè)無(wú)障礙插件",//插件的簡(jiǎn)介 "manifest_version": 2//清單文件的版本號(hào)}

二、background.html

此文件為谷歌瀏覽器后臺(tái)加載的HTML頁(yè)面,本插件中主要用于加載Accessibility.js

代碼如下:

<!DOCTYPE html><html><head><title>無(wú)障礙插件</title></head><script type="text/javascript" charset="utf-8" src='accessibility.js'></script> </html>

三、accessibility.js

此文件為我們所要編寫(xiě)的js代碼文件,用來(lái)改造網(wǎng)頁(yè)的無(wú)障礙問(wèn)題。


下面我們還是以百度作為測(cè)試對(duì)象,重點(diǎn)來(lái)看下js代碼文件的內(nèi)容:

(function() {var host = window.location.host;if(host==="www.baidu.com"){//判斷下是不是百度首頁(yè)的網(wǎng)址//為百度首頁(yè)的搜索框添加描述文本//使用的是aria-label屬性, aria-label 可以給非文本元素添加內(nèi)容描述,如果一個(gè)非文本元素需要讓屏幕閱讀器用戶知道元素的功能、傳達(dá)的信息,需要給元素添加替代文本,如圖形按鈕、編輯框、組合框等,可以通過(guò)aria-label屬性給元素提供適當(dāng)?shù)奶娲谋?。try{var kwElt=document.getElementById("kw");kwElt.setAttribute('aria-label','請(qǐng)鍵入搜索關(guān)鍵詞');}catch(err){}}if(host==="passport.baidu.com"){//判斷下是不是百度注冊(cè)頁(yè)的網(wǎng)址//為百度注冊(cè)頁(yè)面的"登陸"鏈接設(shè)置tab焦點(diǎn),并且設(shè)置控件的角色為“鏈接”//使用的是:tabindex屬性,tabindex屬性可為元素添加/忽略焦點(diǎn),role屬性 可設(shè)置元素的角色。try{var loginbtn=document.getElementById("login_btn");loginbtn.setAttribute('tabindex','0');loginbtn.setAttribute('role','link');}catch(err){}//為百度注冊(cè)頁(yè)面的“百度帳號(hào)智能客服”添加標(biāo)簽//使用的是aria-label屬性, aria-label 可以給非文本元素添加內(nèi)容描述,如果一個(gè)非文本元素需要讓屏幕閱讀器用戶知道元素的功能、傳達(dá)的信息,需要給元素添加替代文本,如圖形按鈕、編輯框、組合框等,可以通過(guò)aria-label屬性給元素提供適當(dāng)?shù)奶娲谋?。try{var elts=document.getElementsByTagName("a");for(i=0;i<elts.length;++i){if(elts[i].getAttribute('class')==='mod-new-reg-service'){elts[i].setAttribute('aria-label','百度帳號(hào)智能客服');break;}}}catch(err){}}})();


到這里我們插件就編寫(xiě)完成


接下來(lái)需要將插件加載到谷歌瀏覽器中才能使用。




不過(guò),在加載插件之前,我們先來(lái)體驗(yàn)下,百度的搜索框、登陸以及百度帳號(hào)智能客服控件元素的無(wú)障礙體驗(yàn):




1. 打開(kāi)百度首頁(yè),使用tab聚焦到搜索輸入框,此時(shí)屏幕閱讀器朗讀為:可編輯文本

開(kāi)發(fā)者沒(méi)有對(duì)這個(gè)搜索框添加描述屬性,視障用戶很難理解這個(gè)編輯框的作用




2. 在百度首頁(yè)點(diǎn)擊“登陸”->“立即注冊(cè)”進(jìn)入注冊(cè)頁(yè)面,嘗試使用tab鍵聚焦“登陸”鏈接,結(jié)果發(fā)現(xiàn)登陸鏈接沒(méi)有tab焦點(diǎn),我們無(wú)法使用tab鍵聚焦到登陸鏈接上。




3.在百度首頁(yè)點(diǎn)擊“登陸”->“立即注冊(cè)”進(jìn)入注冊(cè)頁(yè)面,使用tab聚焦到“百度帳號(hào)智能客服”鏈接上,結(jié)果發(fā)現(xiàn)“百度帳號(hào)智能客服”沒(méi)有標(biāo)簽,只朗讀為“鏈接”




我們加載這個(gè)插件后再試試效果:




打開(kāi)谷歌瀏覽器,這里推薦使用Chrome開(kāi)發(fā)板。




在地址欄中輸入:chrome://extensions




進(jìn)入擴(kuò)展程序頁(yè)面,選中“開(kāi)發(fā)者模式”,然后點(diǎn)擊“加載已解壓的擴(kuò)展程序”按鈕,彈出瀏覽頁(yè)面,瀏覽到“demo”文件夾,將其選中。




這樣我們的插件也就加載好了。




接下來(lái)我們來(lái)試試效果:




1. 打開(kāi)百度首頁(yè),tab聚焦到搜索輸入框,此時(shí)屏幕閱讀器朗讀為:“請(qǐng)鍵入搜索關(guān)鍵詞” 可編輯文本




2. 在百度首頁(yè)點(diǎn)擊“登陸”->“立即注冊(cè)”進(jìn)入注冊(cè)頁(yè)面,使用tab可聚焦到“登陸”鏈接




3.在百度首頁(yè)點(diǎn)擊“登陸”->“立即注冊(cè)”進(jìn)入注冊(cè)頁(yè)面,使用tab鍵聚焦到“百度帳號(hào)智能客服”,發(fā)現(xiàn)該鏈接已經(jīng)正確的朗讀為“百度帳號(hào)智能客服”




通過(guò)這樣的方式,我們可以給一些無(wú)障礙比較不好的網(wǎng)頁(yè)添加無(wú)障礙屬性,使視障人士能更好的上網(wǎng)。




好了,到這里今天的分享就結(jié)束了,最后還是希望廣大網(wǎng)頁(yè)開(kāi)發(fā)工程師們能夠?qū)o(wú)障礙屬性應(yīng)用到實(shí)際開(kāi)發(fā)工作當(dāng)中,時(shí)時(shí)擁有無(wú)障礙的意識(shí),讓障礙用戶也能輕松無(wú)障礙上網(wǎng)。

關(guān)鍵詞:障礙

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉