While the control is focused it renders a visually hidden aria-live="polite" region listing the selected labels, so a change in a multi-select is spoken without moving focus. It caps at 50 values and then says , ..., which is a reasonable cap and also a reason not to build a control that holds hundreds.
Removing a tag is the gap. Each tag's remove control is a <span> carrying aria-hidden="true" and a click handler. It has no role, no name and no tab stop, so assistive technology cannot see it and the keyboard cannot reach it. The only keyboard route to removing a value is Backspace, which removes the last one.
- Do not build a multi-select whose only way back out of a mid-list value is Backspacing through everything after it. Reopen the popup and deselect there, and make sure your optionRender keeps the selected state visible.
- tagRender is the way out. Rendering a Tag with closable and onClose wired gives you a place for a named, focusable remove button that the default tag does not have.
- maxTagCount collapses tags visually only. The live region still reads every selected label, so the reader is not told that some are hidden behind a + N tag.