html - 辅助功能:“下载文件”对话框在 IE 中未激活
问题描述
我正在改进网站的可访问性,以确保用户可以仅使用键盘轻松导航。有一个生成文件的按钮,但是点击按钮后,通用浏览器下载对话框出现在页面底部,焦点仍然停留在按钮上。具有屏幕阅读器的用户不会收到有关该对话框的通知。 有没有办法在对话框出现时专注于它?
我能够专注于页面的元素,但由于对话框是浏览器功能,我不知道该怎么做!?
我会很感激你能给我什么指导。谢谢!
解决方案
您无法控制执行此操作,而且这是预期行为,您无需执行任何操作。
如果屏幕阅读器用户希望访问文件,他们将使用快捷键离开活动屏幕。
您在问题中所说的“按钮”的其他注意事项
您不应该使用<button>
元素来生成文件。文件下载应始终为超链接 ( <a>
)。
如果文档需要传递变量并且您能够通过 GET 请求传递它们,那么超链接href
应该是 URL + GET 参数。
这样做的好处是每个人都可以在新窗口中单击鼠标中键打开文档(或右键单击并选择“在新窗口中打开”等),而且它无需 JavaScript 即可工作,并且很容易被搜索引擎索引。
将download
属性添加到超链接也有一些优势,尤其是在某些屏幕阅读器中,它会向用户发出此链接将下载文档的信号。
创建下载链接时,您应该说明文档类型(pdf、word 等)和文档大小以方便访问。如果您的设计不允许,您可以使用视觉隐藏的文本来执行此操作。
关于如何在此处为屏幕阅读器添加文件大小和文件类型信息,我已经写了一个相当深入的答案。其中大约 70% 与您相关。
推荐阅读
- algorithm - 允许重叠的间隔调度算法
- android - 没有库的圆形 UI 设计中的 Android 文本视图
- powershell - Powershell 从 azure devops 构建管道中获取组件治理结果
- google-oauth - 使用 Passport 和 google oauth2 集成登录时如何重定向
- elixir - 使用受监督的过程防止 exunit 测试中的“GenServer terminating”错误
- c# - C# 时钟中的内存泄漏
- list - 如何检查 CLINGO 列表中的成员资格?
- sql - 同一列的两个 SUM(),但在同一 select 语句中按不同列分组
- javascript - 将应用程序从开发模式切换到实时模式后,通过图形 API 登录后无法访问用户照片
- python - 我希望我的机器人告诉你你必须提到某人,当你不