社区首页 >问答首页 >可访问性:在html中向自定义输入元素添加标签。

可访问性:在html中向自定义输入元素添加标签。
EN

Stack Overflow用户
提问于 2022-07-22 09:20:46
回答 1查看 112关注 0票数 1

我们有一些可用于用户输入的自定义组件(CustomSelectSegmentedControlCustomCheckbox等)。

在某些情况下,这些代码内部使用语义html标记(如radiogroupselect ),但在某些情况下,标记完全使用divspan元素编写,而可访问性则使用aria属性提供。对于这样的实现,是否有方法将label元素关联到它们,使它们的行为像本机表单输入wrt标签行为,或者更好的是,是否有一种方法将它们作为本机表单输入处理?

脑海中浮现的东西:

  • 使用视觉上隐藏的html表单元素,该元素以某种方式封装自定义,并以某种方式隐藏其语义。
  • 字段集和图例在某些情况下可能是有意义的。
  • 使用javascript模拟标签功能

有什么现有的模式吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-23 13:42:42

你需要做三件事:

  1. 在视觉上对其进行编码,使标签看起来与您的自定义元素相关联,通常是因为标签位于左侧,元素位于右侧(在LTR语言中)。
  2. 通过使用aria-labelledby以编程方式将标签与元素关联。
  3. 添加javascript,以便鼠标单击标签将焦点移动到元素。

请注意,您可以使用真正的<label>元素,但它主要用于更易读的代码,因此很容易发现与元素关联的标签。您很可能(*) 不能使用<label>元素的for属性,因为指定的ID必须是"可标记元素",定义为:

  • 按钮
  • 输入
  • 计量器
  • 输出
  • 进展
  • 选择
  • 文本区

(*)如果您有一个具有属性为true的自定义元素,则可以使用form-associated属性。<label>可以用于"表单关联自定义元素

https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example

我以前还没有创建自定义表单元素,但是文档听起来像是一个真正的<label for="ID">,在这种情况下,您不需要aria-labelledby或javascript。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73083946

复制
相关文章
Linux是否能在8位MCU上运行?
我们经常可以看到初学者在单片机论坛中询问他们是否可以在他们微不足道的小的8位微机中运行Linux。这些问题的结果通常是带来笑声。我们也经常看到,在Linux论坛中,询问Linux运行的最低要求是什么。常见的答案是Linux需要一个32位架构和一个MMU(存储器管理单元),并至少1MB的RAM来满足内核的需求。
刘盼
2020/04/01
1.8K0
idea配置tomcat服务器运行项目_idea添加tomcat服务器
从Eclipse转IDEA后面对的第一个问题,就是要为IDEA配置tomcat服务,否则不可用。那么,
全栈程序员站长
2022/11/02
3.5K0
安卓应用将能在苹果/windows设备上运行?
前 言 / 2022.8.29 昨日,谷歌宣称正在推出新的跨设备 SDK ,其中包含开发者需要的工具,以使他们的应用能在安卓设备上运行良好。好家伙,这是新时代要来了? 01 谷歌即将推出跨设备 SDK  什么是 SDK ? 简单介绍一下,又称软件开发工具包,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。 通俗点也可以理解为由第三方服务商提供的实现软件产品某项功能的工具包。 而这次推出的跨设备 SDK ,主要目的就是让开发者们的应用能在安卓设备上良好运
老九君
2022/08/31
1.4K0
安卓应用将能在苹果/windows设备上运行?
腾讯云服务器上tomcat配置文件参数详解
<Connector port="8080" protocol="HTTP/1.1"
用户8639654
2021/08/04
5.8K0
ubuntu服务器上配置tomcat
嗯,最近想在自己的腾讯云服务器上跑个项目玩玩,由于服务器是重装的系统,所以,只能自己手动装tomcat。 不过,tomcat是基于java的,必须又java环境tomcat才能够使用,因此首先要做的是安装jdk。
roobtyan
2019/02/21
2.3K0
tomcat学习 | DefaultServlet | tomcat做文件服务器
小刀这几天在追斗罗大陆,看到唐门,也突然有一种想组建类似的想法,我们有内门,有外门,有长老等等,让学习变成游戏,有想法的,或者想和小刀聊一聊的,加小刀微信吧: best396975802
微笑的小小刀
2019/09/03
1.4K0
tomcat学习 | DefaultServlet | tomcat做文件服务器
Nginx 部署与集群
前面已经将 Nginx 的大部分内容进行了讲解,我们都知道了 Nginx 在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在 Tomcat、weblogic 或者是 websphere 等 Web 服务器上。那么如何使用 Nginx 接收用户的请求并把请求转发到后台 Web 服务器?
用户9615083
2022/12/25
9850
Nginx 部署与集群
一个服务器上运行多个tomcat,显示总启动某一个特定tomcat
今天想在公司的一个服务器上加一个 tomcat运行自己的工程做测试,因为此服务器上之前有一个tomcat,为了不冲突,又重新下载了一个。然后就直接./startup.sh启动了,一直启动失败,也看不到具体报错信息。于是,找到tomcat/bin/catalina,sh这个文件,直接./catalina.sh run 运行这个脚本,这样就能看到具体的报错信息了。
全栈程序员站长
2022/06/30
1K0
一个服务器上运行多个tomcat,显示总启动某一个特定tomcat
docker构建自定义镜像
要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像
用户2409797
2019/02/25
1.2K0
Tomcat搭建文件服务器
①. 进入tomcat下的conf目录,找到server.xml文件,在Host标签下加入如下标签     path:表示对外映射的路径,     docBase:物理磁盘路径,可以是绝对路径,也可以是相对路径,甚至是共享磁盘目录     debug参数不用管     reloadable表示是否重新加载 <Context path="/files" docBase="D://files" debug="0" reloadable="true"/> 访问http://localhost/files/a.t
用户1215919
2018/02/27
3.1K0
堡垒机远程不上服务器的原因 连接不上怎么办?
堡垒机对于企业的运维系统的安全审计,和管理控制功能是显而易见的,堡垒机也成了许多的大中小型企业必备的网络服务项目之一,但是在使用堡垒机的过程当中,总是会出现一些操作上的问题以及使用中的问题。出现这些问题要及时解决,否则会给堡垒机的作用带来不好的影响,堡垒机远程不上服务器是怎么回事呢?
用户8715145
2021/12/11
14.2K0
Docker运行Tomcat
一. 首先在我们的服务器上安装Docker。 安装教程-任意门 我就罗列一下主要的几步:
jwangkun
2021/12/23
8900
在服务器上运行Python项目
Anaconda是一个开源Python发行版本,包括Python 和很多常用库如Numpy、Matplotlib等,对小白很方便
Minerva
2020/05/25
4.1K0
云游戏连接不上服务器是什么原因?云游戏连接不上服务器怎么处理?
现在的年轻人对于网络游戏都是非常热衷的,在学习或者工作休闲之余玩上两把游戏可以充分放松自己的心情以及压力,也是因此现在网络游戏越来越盛行,游戏虽然有很多弊端但是也是有很多好处的,不然国家也不会放任游戏产业不管了。想要玩游戏就需要拥有设备,比如常用的手机或者电脑都可以玩各种游戏,现在还推出了云游戏平台,不需要高配置的设备就可以轻松玩转大型游戏,那么云游戏连接不上服务器是什么原因?云游戏连接不上服务器怎么处理?
用户8715145
2021/10/22
9.9K0
Jenkins+Ansible 实现自动化运维 DevOps
鄙人刚开始选的war包 结果折腾了好久 要么拿不到PATH命令 要么拿到命令没有授权 很脑袋疼 直接选对应包 一键轻松
Parker
2020/07/21
3K2
docker 下安装 nginx / apache / tomcat 常用服务器
安装 nginx 服务器 访问 nginx Tags | Docker Hub 可查看详情 https://hub.docker.com/_/nginx?tab=tags 这里我们拉取官方最新镜像:
acc8226
2022/05/17
5200
docker 下安装 nginx / apache / tomcat 常用服务器
谁说程序不能在指定地址运行?
我们知道程序在每次运行的时候地址都是不一样的,linux之所以有这样的设计也许是为了安全性考虑,不利于黑客的攻击。
刘盼
2020/06/30
7410
Nginx---动静分离
我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在Tomcat,weblogic或者是websphere等web服务器上。那么如何使用Nginx接收用户的请求并把请求转发到后台web服务器?
大忽悠爱学习
2021/12/07
5520
Nginx---动静分离
springboot在tomcat运行
使用外部tomcat部署时,为排除springboot内置的tomcat,修改pom.xml文件,增加
似水的流年
2019/12/06
9790
点击加载更多

相似问题

Excel VBA - AdvancedFilter

28

vba应复制整个列

12

excel VBA复制粘贴仅行A列?

12

Excel VBA复制特定列

30

Excel VBA:复制大量列

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文