Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!