最近,我遇到了Phaser游戏框架的一个主要问题,这是关于Web可访问性的。在玩游戏时,屏幕阅读器无法阅读说明弹出窗口中显示的说明。
场景:在玩游戏之前,用户应该在游戏开始前点击ok和accept同意规则,这对于屏幕阅读器来说是一场噩梦,无法提取文本并指示用户采取行动。正因为如此,用户才开始玩这款互动如此简单的游戏
发布于 2021-09-17 07:55:05
直接使用.add.text(...)在画布中写入的文本将创建一个屏幕阅读器无法读取的Phaser.GameObjects.Text (甚至不可选择!)
您可以改用Phaser.GameObjects.DOMElement。我已经检查了我的一个项目,在DOMElement中编写的文本可以被屏幕阅读器正确读取(由chrome.google.com使用屏幕阅读器浏览器扩展进行测试)
编辑:我发现这个有趣的对话(来自2017年) HTML5 Canvas is the least accessible thing to be put on the Web since Flash值得一读。作为一种解决方案(或黑客),他们建议使用屏幕阅读器可以读取的DOM元素,或者在画布上使用alt文本。
进一步的研究将我带到了这篇博客文章HTML Accessibility,它描述了如何使用aria-label和role属性让屏幕阅读器读取canvas的上下文。
https://stackoverflow.com/questions/69218770
复制相似问题