slidenumbers: false autoscale: true
[.background-color: #212240]
[.background-color: #212240]
“**Accessibility is the end. Inclusive Design is the means.**”
-- Heydon Pickering 1
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
- Porque es responsabilidad del diseñador crear experiencias inclusivas desde el principio del proceso
- Porque tiene un impacto directo en el negocio
- Porque es lo correcto
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
- Mejorando la paleta de color
- Mejorando el sistema tipográfico
- Intentando propiciar desde diseño un mejor uso del marcado HTML
- Hemos definido una lógica clara
- Hemos mejorado el contraste y lo hemos validado contra WCAG
- Hemos definido una lógica clara
- Hemos mejorado el contraste y lo hemos validado contra WCAG
- Utilizamos una escala modular en base a un multiplicador
1.2
:2 Los tamaños demasiado pequeños desaparecen - Eliminamos el peso
light
, dejándolo únicamente en dos: Más legibilidad, menos peticiones y repintados - Mejoramos el kerning de Circular de manera proporcional
-0.01em
: Más legibilidad
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
- Valida el marcado
- Desactiva el CSS: ¿Estructura y jerarquía?
- Comprueba la navegación por teclado: ¿
tabindex
y:focus
? - Ejecuta la auditoría de accesibilidad de Chrome
- Haz zoom al 200% ¿Todo el texto sigue siendo visible?
“You don’t have to make it 100% accessible over night, but as long as you’re making small, incremental changes, that’s ideal.” -- Heydon Pickering #a11yTOConf
[.background-color: #212240]
[.footnote: alignment(center)]
necesita tamaños más grandes de texto3
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
:root {
font-size: 1em; // 16px
}
@media screen and (min-width: 960px) {
:root {
font-size: 1.25em; // 20px
}
}
[.background-color: #212240]
- Se definen tamaños máximo y mínimo de tipografía:
16px
y20px (125%)
- Se definen dos breakpoints
- Se añade una tercera regla que permite al navegador redimensionar los tamaños intermedios automáticamente de forma segura 4
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
[.code-highlight: 8, 9]
:root {
font-size: 1em; // Asuming 16px as the browser initial font size
}
// Small devices in landscape and above (360 × 576)
@media screen and (min-width: 22.5em) and (min-height: 36em) {
:root {
// Variable font size locking from a 16px minimum size to 20px at 1200px (our new grid size)
font-size: calc(1em + .3333vmin); // ((20-16) / 1200) * 100 = 0.3333
}
}
// Wide screens (1200 × 675) ~ 16:9 aspect ratio
@media screen and (min-width: 75em) and (min-height: 42.1875em) {
:root {
font-size: 1.25em; // Locking at 20px maximum
}
}
[.background-color: #FF71A9] [.header: #212240, alignment(left), CabifyCircular-Book] [.link: #212240]
Demo5
font-size: rem
line-height: unitless
border-width: px
Resto: em
[.background-color: #212240]
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
- Porque nos puede ayudar a hacer las cosas mejor
- Porque en la web pública no nos limita Explorer
- Porque nos consolida como referente
- Porque es divertido aprender cosas nuevas
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
- Se propagan mediante la cascada
- Puedes redefinir elementos sin duplicar código
- Puedes acceder a ellas y manipularlas con JS
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
Ejemplo 1: Escala modular6
:root {
--scalar: 1.200; // Ratio 5:6 – minor third
--font-size-sm: calc(1 / var(--scalar) * 1rem); //0.833rem
--font-size-md: 1rem;
--font-size-lg: calc(var(--scalar) * 1rem); //1.2rem
--font-size-xl: calc(var(--scalar) * var(--scalar) * 1rem); //1.44rem
--font-size-xxl: calc(var(--scalar) * var(--scalar) * var(--scalar) * 1rem); //1.728rem
--font-size-xxxl: calc(var(--scalar) * var(--scalar) * var(--scalar) * var(--scalar) * 1rem); //2.074em
}
// Wide screens (1200 × 675) ~ 16:9 aspect ratio
@media screen and (min-width: 75em) and (min-height: 42.1875em) {
:root {
--scalar: 1.333; // Ratio 3:4 – perfect fourth
}
}
[.header: #FFFFFF, alignment(left), CabifyCircular-Bold]
Ejemplo 2: Custom themes7
:root {
--background-color: var(--color-selago);
// Text
--color-text-primary: var(--color-text-dark-primary);
--color-text-secondary: var(--color-text-dark-secondary);
--color-text-tertiary: var(--color-text-dark-tertiary);
// Accent
--color-accent-primary: var(--color-moradul);
--color-accent-secondary: var(--color-pink);
}
.themeNegative {
--background-color: var(--color-martinique);
--color-text-primary: var(--color-text-light-primary);
--color-text-secondary: var(--color-text-light-secondary);
--color-text-tertiary: var(--color-text-light-tertiary);
}
.themeNegative.drivers {
--background-color: var(--color-azura);
--color-accent-primary: var(--color-martinique);
--color-accent-secondary: var(--color-blue-love);
}
[.background-color: #212240]