summaryrefslogtreecommitdiffstats
path: root/web_src/js/modules/fomantic/base.js
blob: 7574fdd25cce7220732d2984aa326662120430b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
let ariaIdCounter = 0;

export function generateAriaId() {
  return `_aria_auto_id_${ariaIdCounter++}`;
}

export function linkLabelAndInput(label, input) {
  const labelFor = label.getAttribute('for');
  const inputId = input.getAttribute('id');

  if (inputId && !labelFor) { // missing "for"
    label.setAttribute('for', inputId);
  } else if (!inputId && !labelFor) { // missing both "id" and "for"
    const id = generateAriaId();
    input.setAttribute('id', id);
    label.setAttribute('for', id);
  }
}