ReadonlybaseAccessible name for the button, surfaced as aria-label. Primarily for icon-only buttons
(which otherwise have no name). Applied via setAttribute only when set, so a directly-authored
aria-label="..." on the element is never clobbered.
mjButton — Attribute directive that styles a native
<button>or<a>element as an MJ-branded button.Uses
--mj-*design tokens for all colors, ensuring dark-mode support with zero extra CSS.Inputs use lowercase (not PascalCase) per the Phase 2 plan exception for directives — matches HTML attribute convention.
Accessibility: an icon-only button (
variant="icon", no visible text) has no accessible name unless you supply one — set[ariaLabel](or a nativetitle). Without a name, screen readers announce it as an unlabeled "button" and DOM/accessibility-tree agents (e.g. computer-use) can't identify it. In dev mode the directive logs a warning for an icon button that ends up with no accessible name.Example