<button>, so Tab, Enter and Space all work without a single ARIA attribute.:focus-visible outline drawn from lineWidthFocus and colorPrimaryBorder, so it follows your theme instead of the browser default.disabled: the native attribute on the button form, which removes it from the tab order and announces it as unavailable.disabled and an href: an <a> with the href dropped, tabIndex={-1} and aria-disabled, so it is neither focusable nor navigable.Icon from the kit is aria-hidden by default, so a glyph beside a label is not announced twice. Give it an aria-label and it flips to role="img".aria-label. There is no text for one to come from, and the glyph is hidden from the accessibility tree.avatar: a face is decorative markup, so name the action (“Open your profile”), not the person.aria-label. If they differ, the visible text must be contained in the accessible name (WCAG 2.5.3, Label in Name), or voice control users cannot say what they see.target="_blank" with rel="noreferrer", and say so in the label or a nearby hint.Tab, activated with Enter or Space. Both come from the element, and nothing here overrides them.:focus-visible only, so it never appears on a mouse click and there is nothing to suppress.colorPrimaryBorder, so re-check it if you re-seed the theme.disabled while focused loses focus to the document body. Prefer keeping it enabled and validating on click, or move focus yourself.aria-busy yourself, and announce the result in a live region rather than relying on the spinner.aria-pressed, not with a color change alone.aria-expanded on the child it wraps. If you build your own, set it yourself.{ disabled: true }.motion-safe:, so it stands down for a reader who has asked for reduced motion.delay keeps it off the screen entirely when the work is fast.