Los cuatro únicos widgets con librería del kit. Cada uno está aquí porque queda un hueco que HTML no puede rellenar — no porque sea complejo.
Con librería, y el hueco es medible: <dialog> ya da foco, Escape, ::backdrop, inert y retorno de foco al 96% de los navegadores — pero no bloquea el desplazamiento del fondo, y en iOS el rebote sigue moviendo la página de detrás. Eso es lo que se compra.
🎹 Con el teclado: Tab da la vuelta dentro y no se escapa · Escape cierra · al cerrar, el foco vuelve al botón que lo abrió — pruébalo sin tocar el ratón. Y con la rueda: mueve el fondo con el diálogo abierto; no se mueve.
El de la derecha es alert: role="alertdialog", y su acción destructiva va en el cuerpo, nunca en el pie. El pie es donde el dedo aterriza sin leer, y la regla local no-destructive-in-dialog-footer lo impide en toda la aplicación, no solo aquí.
Tooltip = pista PRESCINDIBLE: si no se lee, no se pierde nada. Abre con hover o foco, y en un teléfono no hay hover que lo revele — su contenido es inalcanzable con un dedo. Toggletip = información que SÍ hace falta, o que lleva algo con lo que interactuar. Abre con clic, tap o Enter y se queda hasta que alguien lo cierra — por eso su contenido, a diferencia del de Tooltip, puede llevar un botón.
Con librería, y el hueco que compra es concreto: los tres requisitos de SC 1.4.13. El caro es señalable — que el puntero pueda viajar hasta el bocadillo sin que se cierre. Ninguna primitiva de plataforma lo da hoy (el anclaje por CSS va por el 84% y interestfor por el 67%, solo Chromium).
🎹 Con el teclado: Tab hasta un botón y el bocadillo sale solo — title no hace eso. Escape lo cierra sin mover el foco. Y con el ratón: entra al bocadillo, que no se te cierra por el camino.
Copiado de Carbon: su ToggletipButton cablea onClick, nunca onMouseEnter ni onFocus — al revés que su propio Tooltip.js, que trae los dos. Sobre Popover de Radix: mismo cierre por clic-fuera, Escape y foco perdido que Carbon cablea a mano, sin escribirlo.
🎹 Con el teclado: Tab hasta el botón, Enter o Espacio lo abren, y Escape lo cierra y devuelve el foco. 👆 Con el dedo: un tap lo abre igual que un clic — a diferencia de Tooltip, que en táctil nunca se abre.