html - 字体大小是否可以设置为 0px 以隐藏标签,并且屏幕阅读器仍然可以阅读

标签 html forms wai-aria screen-readers

我需要实现一个带有占位符文本且没有可见标签的表单,但它仍然可供视力不佳的用户访问。在标签上设置 text-indent: -9999px 会隐藏它们,但会增加表单的额外空间。有什么理由不将字体大小设置为 0px 吗?屏幕阅读器仍可读吗?

最佳答案

我的建议:

.magic-text {
    color:transparent;
    font-size:0;
}

这将正确隐藏您的文本; font-size 本身就足够了,但有些浏览器的行为不同,所以我们在那些浏览器中将其设置为透明(不可见)。至于那些不相信字体大小的浏览器,选择可能会显示您的文本,但这是一个非常低的代价;也可以通过在本地禁用选择来避免。如果这不是一个选项,您仍然可以使用 z-index 和相对(甚至绝对)定位来隐藏您的文本:

.magic-text {
    position:relative;
    z-index:-99;  /* or just -1, whatever */
}

这样就可以了。

关于html - 字体大小是否可以设置为 0px 以隐藏标签,并且屏幕阅读器仍然可以阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121886/

相关文章:

javascript - HTML5 - Canvas 并拖/放或将图像放置在用户单击的位置

html - 特殊的 2 行 4 列菜单 - 响应式设计

html - 导航中的当前页面使用什么 ARIA 状态角色

html - 这个 HTML 输入表单安全吗?

html - 我可以仅通过使用纯 CSS 来改变 Ruby 中文本区域的美观吗?

angularjs - 如何在显示输入字段错误消息时使用angularjs表单方法

python - 如何使用来自不同模型的选择字段创建自定义 Django 表单?

html - 无法获得标签和输入以专注于工作

html - JAWS 未读取 Aria-Live ="Assertive"

HTML5 主要元素与 ARIA 地标角色 ="main"