可访问的输入元素 |基础知识

wufei123 2025-01-26 阅读:2 评论:0
tl;dr:无论组件有多小,始终确保在实现时考虑各种不同的用户及其能力。乍一看,诸如复选框之类的输入元素似乎是一个简单的解决方案 - 但为了确保它们可访问,仍然需要考虑一些事情。 本系列将解决不同类型的输入元素以及如何使它们更易于访问,...

tl;dr:无论组件有多小,始终确保在实现时考虑各种不同的用户及其能力。乍一看,诸如复选框之类的输入元素似乎是一个简单的解决方案 - 但为了确保它们可访问,仍然需要考虑一些事情。

本系列将解决不同类型的输入元素以及如何使它们更易于访问,从基础知识开始:使用正确的输入类型并关联标签。

我们来看看吧。

选择正确的输入类型

在 html 中使用输入元素时,我们希望确保始终为相应元素设置正确的输入类型。默认输入类型是文本,可以在多种情况下使用,但尽可能具体可以帮助所有您的用户 - 并且附带一系列固有功能。例如, 定义了一个数字输入字段,在手机上打开数字键盘而不是键盘,您可以使用最小和最大数字来限制范围。 屏蔽相应的输入,从而保护用户的隐私。根据浏览器的不同, 打开日期选择器,...等等。通过选择正确的输入类型,我们可以让自己的生活变得更轻松,能够使用 html 中的某些继承功能,同时提高用户体验。

确保始终有一个与您的输入元素关联的标签

无论您使用什么类型的输入,请确保将标签与输入字段相关联。通常,这可以使用

<label for="firstname">first name:</label>
<input type="text" name="firstname" id="firstname">
aria-label 与 aria-labelledby

在视觉标签不是一个选项或无法以上述方式与输入元素关联的情况下,aria-labels 也可以用于标识表单控件。如果您对 aria 有一点熟悉,您可能会意识到,如果可能的话,首选的选择是尽可能在没有 aria 的情况下工作 - 然而,当然,在现实生活中,这并不总是可行。

咏叹调标签

当不存在可见文本标签时,可以使用 aria-label,例如,当使用没有任何文本的图标按钮时。

<button aria-label="search"><img src="search-icon.svg" alt=""></button>
咏叹调标记者

当另一个元素用作标记输入的参考时,aria-labelledby 会派上用场。

<div role="dialog" id="dialog1" aria-labelledby="dialog1_label" aria-modal="true">
<h2 id="dialog1_label">Add Delivery Address</h2>
</div>

只要有可能,请尝试使用语义 html 为您的输入元素提供可访问的名称。仅当您确定在这种特定情况下不可能时,才恢复使用 aria 属性。

一旦我们掌握了这些基础知识,例如使用语义结构、添加正确的输入类型和关联标签,我们就可以仔细研究使输入元素更易于访问的其他方面,例如禁用的输入元素,焦点样式和颜色对比以及预期的键盘导航。

资源:

  • w3schools:html 输入类型
  • 标签控件 - w3
  • a11y collective - aria-label 与 aria-labelledby

以上就是可访问的输入元素 |基础知识的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • python中def什么意思

    python中def什么意思
    python 中,def 关键字用于定义函数,这些函数是代码块,执行特定任务。函数语法为 def (参数列表)。函数可以通过其名字和圆括号调用。函数可以接受参数作为输入,并在函数体中使用参数名访问。函数可以使用 return 语句返回一个值,它将成为函数调用的结果。 Python 中 def 关键字 在 Python 中,def 关键字用于定义函数。函数是代码块,旨在执行特定任务。 语法 def 函数定义的语法如下: def (参数列表): # 函数体 示例 定义...
  • python中int函数的用法

    python中int函数的用法
    int() 函数将值转换为整数,支持多种类型(字符串、字节、浮点数),默认进制为 10。可以指定进制数范围在 2-36。int() 返回 int 类型的转换结果,丢弃小数点。例如,将字符串 "42" 转换为整数为 42,将浮点数 3.14 转换为整数为 3。 Python 中的 int() 函数 int() 函数用于将各种类型的值转换为整数。它接受任何可以解释为整数的值作为输入,包括字符串、字节、浮点数和十六进制表示。 用法 int(object, base=10) 其中...