{showToken && (
-
+ <>
+ {/* The token's button is the field's Tab stop while a value
+ shows, so it is named as the input is (the field label,
+ with a caller aria-labelledby) plus the value, and
+ described like the input (input-fields FR10; WCAG 2.4.6,
+ 4.1.2). */}
+
+ {value.label}
+
+
+ >
)}
({
isLabelHidden={isLabelHidden}
description={description}
inputID={inputId}
- labelID={ariaLabelledByProp != null ? fieldLabelId : undefined}
+ // Always set: the value token's name references the field label.
+ labelID={fieldLabelId}
descriptionID={description ? descriptionId : undefined}
isOptional={isOptional}
isRequired={isRequired}