Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

136
Vistas
accesibilidad: agregar etiqueta al elemento de entrada personalizado en html

Tenemos algunos componentes personalizados que se pueden usar para la entrada del usuario ( CustomSelect , SegmentedControl , CustomCheckbox , etc.).

En algunos casos, estos usan internamente la etiqueta html semántica como radiogroup o select , pero en algunos casos, el marcado está completamente escrito usando elementos div y span y la accesibilidad se proporciona usando atributos aria. Para tales implementaciones, ¿hay alguna manera de asociarles un elemento de label , para que se comporten como entradas de forma nativa con comportamiento de etiqueta, o mejor, hay alguna manera de tratarlas como entradas de forma nativa?

Cosas que me vienen a la mente:

  • use un elemento de formulario html visualmente oculto que de alguna manera envuelve la costumbre y de alguna manera oculta su semántica.
  • fieldset y legend pueden tener sentido en algunos casos
  • usando javascript para imitar la funcionalidad de la etiqueta

¿Hay algún patrón existente para esto?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tienes que hacer tres cosas:

  1. Codifíquelo visualmente para que parezca que la etiqueta está asociada con su elemento personalizado, generalmente porque la etiqueta está a la izquierda y el elemento está a la derecha (en idiomas LTR).
  2. Asocie mediante programación la etiqueta con el elemento mediante aria-labelledby .
  3. Agregue javascript para que al hacer clic con el mouse en la etiqueta se mueva el foco al elemento.

Tenga en cuenta que puede usar un elemento <label> real, pero sería principalmente para un código más legible, por lo que es fácil detectar la etiqueta asociada con el elemento. Lo más probable es que (*) no pueda usar el atributo for del elemento <label> porque el ID especificado debe ser de un " elemento etiquetable ", que se define como:

  • botón
  • aporte
  • metro
  • producción
  • Progreso
  • Seleccione
  • área de texto

(*) Puede usar el atributo for si tiene un elemento personalizado con un atributo true form-associated . Se puede usar una <label> en un " elemento personalizado asociado a un formulario "

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

No he creado un elemento de formulario personalizado antes, pero el documento parece que se puede usar un <label for="ID"> real, en cuyo caso no necesita aria-labelledby o javascript.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda