sutty-base-jekyll-theme/_sass/accessibility.scss

55 lines
1.4 KiB
SCSS
Raw Permalink Normal View History

////
/// Accesibilidad
/// @group Accesibilidad
////
/// La navegación es suave. Esto hace que al navegar a elementos dentro
/// de la misma página no haga un salto, sino que haya una transición.
///
/// Es especialmente útil en sliders.
///
/// Sin embargo puede producir mareos a algunas personas.
* { scroll-behavior: smooth; }
2020-06-17 19:34:42 +00:00
/// Aquí se aplica la opción `prefers-reduced-motion: reduce`, pero
/// SassDoc no la estaría mostrando.
2020-06-17 19:34:42 +00:00
@media (prefers-reduced-motion: reduce) {
/// Si les usuaries prefirieron reducir las animaciones de los sitios,
/// deshabilitamos la navegación suavizada y las animaciones.
2020-06-17 19:34:42 +00:00
* {
scroll-behavior: auto !important;
2020-06-17 19:34:42 +00:00
animation: none !important;
}
}
/// Utilizamos Axe para poder marcarnos cuáles elementos no cumplen con
/// parámetros de accesibilidad durante el desarrollo. Esta clase
/// muestra un borde rojo alrededor de los elementos inaccesibles y al
/// obtener el foco, muestra los mensajes de error generados por Axe.js.
///
/// @link _packs/entry.js
.inaccesible {
outline: $red 1px solid;
@extend .position-relative;
&:focus::after {
@extend .position-fixed;
@extend .background-red;
@extend .white;
@extend .p-3;
left: 0;
bottom: 0;
width: 100vw;
font-size: 1rem;
word-wrap: normal;
line-break: auto;
white-space: pre-line;
/// El contenido se trae desde el ariaLabel del elemento.
content: attr(aria-label);
}
}