第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何讓屏幕閱讀器停止將 HTML5 游戲視為文檔?

如何讓屏幕閱讀器停止將 HTML5 游戲視為文檔?

回首憶惘然 2021-11-18 21:10:06
我正在開發(fā)一個(gè) HTML5 游戲,它完全發(fā)生在占據(jù)整個(gè)頁面的畫布元素中。我正在使用NV Access來測試它如何與屏幕閱讀器配合使用。通過使用role="alert"我用 JavaScript 更新的隱藏 div ,我可以讓屏幕閱讀器閱讀文本。但是,NV Access 已經(jīng)為幾乎每個(gè)鍵盤鍵提供了鍵盤命令,因此當(dāng)我嘗試使用 WASD、箭頭鍵或幾乎任何不是游戲控制器的東西來控制游戲時(shí),它會在游戲可以處理它們。我role="application"在單獨(dú)的測試中設(shè)置了頁面的正文和畫布,兩個(gè)位置似乎都沒有改變?nèi)魏螙|西。我可以讓 NV Access 控制瀏覽器選項(xiàng)卡的唯一上下文是向頁面添加一個(gè)隱藏的文本框并專注于該文本框,這可行,但具有讓屏幕閱讀器讀取每次按鍵的副作用,這導(dǎo)致人物移動時(shí)總是伴隨著“ss sssssssssss.dd dddddddddd”的聲音。這基本上是游戲頁面的樣子:<body role="application">    <div>       <div id="screenRead" role="alert"></div>       <canvas id="background"></canvas>       <canvas id="foreground"></canvas>    </div></body>理想情況下,所有按鍵操作(禁止 Alt+Tab、Ctrl+Tab 等控制操作)都將被瀏覽器選項(xiàng)卡本身接受,而不是被屏幕閱讀器捕獲。由于播放器控件是可配置的,因此為幾個(gè)鍵添加例外將不起作用(并且aria-keyshortcuts在此上下文中不起作用,無論如何)。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

此外,要設(shè)置role=application正確的 ,您還必須使canvas或 成為div可聚焦 ( tabindex=0) 并有效聚焦它(使用.focus()方法)。

這樣做時(shí),屏幕閱讀器應(yīng)該切換到焦點(diǎn)模式,在這種模式下,大多數(shù)鍵都會傳遞給您的腳本。

如果不是這種情況,請按insert+space(NVDA) 或insert+Z(Jaws)。理想情況下,您當(dāng)然應(yīng)該向玩家提供此指令。
根據(jù)設(shè)置,焦點(diǎn)和瀏覽模式之間的切換可能只能手動進(jìn)行。

準(zhǔn)備好無法完全處理某些組合,例如Alt+TabCtrl+TabAlt+F4Ctrl+F4Ctrl+F5Alt+Left/Right, some Alt+letterand Ctrl+letter。
即使它們可能被您的腳本捕獲,它們的默認(rèn)行為也可能不會通過event.preventDefault()在某些瀏覽器和操作系統(tǒng)中調(diào)用而取消。 Alt+Tab例如,永遠(yuǎn)不會被窗戶捕獲。這是幸運(yùn)的,否則您可以完全阻止用戶退出您的頁面。


查看完整回答
反對 回復(fù) 2021-11-18
  • 1 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號