可及性(accessibility)測試工具Pa11y

什么是可及性測試?

可及性是用來描述產(chǎn)品、設(shè)備媚送、服務(wù)或環(huán)境對人群的適用范圍大小的程度的一般性術(shù)語」苏茫”(Wiki: Accessibility is a general term used to describe the degree to which a product, device, service, or environment is available to as many people as possible.) 說的通俗一些,就是衡量一個軟件在有限的條件下能被多少人順利使用的標準胃碾。

網(wǎng)絡(luò)信息要能夠以“無障礙”的方式傳達給用戶涨享,基本上包含三個要素:

  • 網(wǎng)頁內(nèi)容應(yīng)遵照規(guī)范設(shè)計:如政府所頒訂的無障礙網(wǎng)頁規(guī)范,及國際組織W3C公布的“網(wǎng)頁內(nèi)容無障礙設(shè)計指引”(WCAG 2.0)仆百。
  • 良好的信息輔具厕隧,如屏幕報讀軟件點字顯示器等俄周。
  • 用戶要具備足以操作瀏覽輔具的能力:經(jīng)過良好的訓練與學習吁讨,視障或?qū)W習障礙者仍然可以獲取所需的網(wǎng)頁信息。

例如有一位盲人需要來訪問淘寶網(wǎng)峦朗,他可能會使用一些輔助工具例如發(fā)聲器等來協(xié)助他讀網(wǎng)站挡爵。這個輔助工具可能就需要用一些基于accessibility的標準去做讀取網(wǎng)頁元素的工作。如果這個時候淘寶網(wǎng)的accessibility不夠標準甚垦,則可能造成這些輔助工具達不到預(yù)期效果。


可及性測試工具Pa11y##

Pa11y是一套自動化的accessibility測試工具涣雕,其通過在命令行執(zhí)行HTML_CodeSniffer腳本后艰亮,探測html源文件是否滿足民間標準WCAG(WebContentAccessibilityGuideLines2.0)和美國政府法定的 Section 508標準

pa11y包含三個工具:核心工具pa11y,支持多任務(wù)同時執(zhí)行的pa11y-webservice和可視化的pa11y-dashboard。三個工具各有不同的用處和用法挣郭,最簡單的使用就直接下載pa11y-dashboard使用就可以了迄埃。

這么來理解這三個工具:有一群人需要做accessibility測試的工作,結(jié)果發(fā)現(xiàn)標準太多手工做的話工作量太大兑障,然后剛好在發(fā)現(xiàn)HTML_CodeSniffer可以驗證網(wǎng)站是否滿足WCAG和Section508標準侄非。于是他們就做了一個pa11y工具基于HTML_CodeSniffer蕉汪,利用phantomjs去盲跑待測網(wǎng)站。pa11y可以跑remote URL和本地html文件逞怨,而且可以生成各種指定格式的報告者疤。并且開放了JS接口,可以使用JavaScript直接調(diào)用和跑結(jié)果叠赦。搞完這個以后驹马,又發(fā)現(xiàn)如果有好多個頁面都需要測的話,那用pa11y起來也挺麻煩的除秀,最好還能夠一次跑多個頁面糯累。于是他們又搗鼓出了pa11y-webservice。最后這群人又在想了册踩,既然我要做這個工具泳姐,為什么不把這個工具做得更好用一些,一鍵安裝暂吉,無腦使用就能達成效果了胖秒。然后就做出具有可視化UI的pa11y-dashboard,集成了前面的兩大工具借笙。


下面以mac環(huán)境為例扒怖,簡單介紹下如何安裝和使用這套工具

安裝依賴環(huán)境:####

$ brew install node
$ brew install phantomjs
$ brew install mongodb
$ npm install -g grunt-cli

pa11y

安裝:
npm install -g pa11y
執(zhí)行:

測試在線網(wǎng)站

pa11y www.taobao.com

測試本地文件

pa11y file:///path/to/your/file.html

pa11y-webservice

安裝:

拷貝源碼

git clone https://github.com/springernature/pa11y-webservice.git

下載依賴文件

npm install

pa11y-dashboard

安裝
git clone https://github.com/springernature/pa11y-dashboard.git
npm install
定義配置文件,執(zhí)行如下命令:
$ cp config/development.sample.json config/development.json
$ cp config/production.sample.json config/production.json
$ cp config/test.sample.json config/test.json
每個配置文件指向不同的環(huán)境

然后定義環(huán)境變量:

$ NODE_ENV=production node .   # Run in production
$ NODE_ENV=development node .  # Run in development
$ NODE_ENV=test node .         # Run in test
完成安裝和環(huán)境變量配置后业稼,在test mode下啟動服務(wù)
$ grunt start-test

然后就可以執(zhí)行這些命令跑服務(wù)了

$ grunt     # Run the lint and test tasks together
$ grunt lint     # Run JSHint with the correct config
$ grunt compile   #  Compile front-end assets
$ grunt start     # Run app in development mode, restarting if files change
$ grunt start-test     # Run app in test mode, restarting if files change
$ grunt test     # Run functional tests
$ grunt watch     # Watch for file changes and compile assets

跑起dashboard效果如下:

監(jiān)控匯總
監(jiān)控記錄
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盗痒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子低散,更是在濱河造成了極大的恐慌俯邓,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熔号,死亡現(xiàn)場離奇詭異稽鞭,居然都是意外死亡,警方通過查閱死者的電腦和手機引镊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門朦蕴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弟头,你說我怎么就攤上這事吩抓。” “怎么了赴恨?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵疹娶,是天一觀的道長。 經(jīng)常有香客問我伦连,道長雨饺,這世上最難降的妖魔是什么钳垮? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮额港,結(jié)果婚禮上饺窿,老公的妹妹穿的比我還像新娘。我一直安慰自己锹安,他們只是感情好短荐,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著叹哭,像睡著了一般忍宋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上风罩,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天糠排,我揣著相機與錄音,去河邊找鬼超升。 笑死入宦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的室琢。 我是一名探鬼主播乾闰,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盈滴!你這毒婦竟也來了涯肩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巢钓,失蹤者是張志新(化名)和其女友劉穎病苗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體症汹,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡硫朦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了背镇。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咬展。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瞒斩,靈堂內(nèi)的尸體忽然破棺而出挚赊,到底是詐尸還是另有隱情,我是刑警寧澤济瓢,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站妹卿,受9級特大地震影響旺矾,放射性物質(zhì)發(fā)生泄漏蔑鹦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一箕宙、第九天 我趴在偏房一處隱蔽的房頂上張望嚎朽。 院中可真熱鬧,春花似錦柬帕、人聲如沸哟忍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锅很。三九已至,卻和暖如春凤跑,著一層夾襖步出監(jiān)牢的瞬間爆安,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工仔引, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扔仓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓咖耘,卻偏偏與公主長得像翘簇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子儿倒,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理版保,服務(wù)發(fā)現(xiàn),斷路器义桂,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,162評論 25 707
  • 今天忙了一天找筝,簽了兩份訂單,量體不大慷吊,接待客戶3位袖裕,會見了老客戶一名,基本上沒時間停下來了溉瓶!呵呵 確實沒有時間處理...
    愛折騰的青年閱讀 195評論 0 0
  • Postman詳解 Postman優(yōu)點: javascript語言編寫急鳄,跨平臺(Linux, Windows, M...
    Cassie測試路閱讀 2,036評論 0 1
  • 10 月 29 號触创,著名洗腦公司 37signals 發(fā)布萬眾期待的新書 《Remote - Office Not...
    葉玎玎閱讀 1,619評論 14 21