Introducció
ARIA (Accessible Rich Internet Applications) és un conjunt d'atributs especials per a HTML que defineixen maneres de fer que el contingut web i les aplicacions web siguin més accessibles per a les persones amb discapacitats. Els rols ARIA ajuden a proporcionar informació addicional sobre els elements de la pàgina, millorant així l'experiència d'usuari per a les persones que utilitzen tecnologies assistives com els lectors de pantalla.
Conceptes Clau
- ARIA (Accessible Rich Internet Applications): Un conjunt d'atributs que milloren l'accessibilitat dels elements HTML.
- Rols ARIA: Defineixen el propòsit d'un element dins de la interfície d'usuari.
- Atributs d'estat i propietats ARIA: Proporcionen informació addicional sobre l'estat i les propietats dels elements.
Tipus de Rols ARIA
Rols de Llocs de Lloc (Landmark Roles)
Aquests rols defineixen les regions importants d'una pàgina web:
role="banner": Defineix una regió de capçalera.role="navigation": Defineix una regió de navegació.role="main": Defineix la regió principal del contingut.role="complementary": Defineix una regió complementària al contingut principal.role="contentinfo": Defineix una regió de peu de pàgina.
Rols de Widget
Aquests rols defineixen elements interactius:
role="button": Defineix un botó.role="checkbox": Defineix una casella de verificació.role="dialog": Defineix un diàleg modal.role="tab": Defineix una pestanya dins d'un conjunt de pestanyes.role="tabpanel": Defineix el contingut associat a una pestanya.
Rols de Document
Aquests rols defineixen estructures de document:
role="article": Defineix una secció independent del contingut.role="heading": Defineix un encapçalament.role="list": Defineix una llista.role="listitem": Defineix un element dins d'una llista.
Exemples Pràctics
Exemple 1: Utilitzant Rols de Llocs de Lloc
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Exemple de Rols ARIA</title>
</head>
<body>
<header role="banner">
<h1>Benvingut al meu lloc web</h1>
</header>
<nav role="navigation">
<ul>
<li><a href="#home">Inici</a></li>
<li><a href="#about">Sobre nosaltres</a></li>
<li><a href="#contact">Contacte</a></li>
</ul>
</nav>
<main role="main">
<article role="article">
<h2>Notícia principal</h2>
<p>Aquest és el contingut principal de la notícia.</p>
</article>
</main>
<aside role="complementary">
<h2>Informació addicional</h2>
<p>Aquesta és una secció complementària.</p>
</aside>
<footer role="contentinfo">
<p>© 2023 El meu lloc web</p>
</footer>
</body>
</html>Exemple 2: Utilitzant Rols de Widget
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Exemple de Rols ARIA</title>
</head>
<body>
<button role="button">Fes clic aquí</button>
<div role="dialog" aria-labelledby="dialog-title" aria-hidden="true">
<h2 id="dialog-title">Diàleg Modal</h2>
<p>Aquest és un diàleg modal.</p>
<button role="button">Tanca</button>
</div>
</body>
</html>Exercicis Pràctics
Exercici 1: Afegir Rols ARIA a una Pàgina Web
Instruccions:
- Crea una pàgina HTML amb una capçalera, una secció de navegació, un article principal, una secció complementària i un peu de pàgina.
- Assigna els rols ARIA adequats a cada secció.
Solució:
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Exercici de Rols ARIA</title>
</head>
<body>
<header role="banner">
<h1>Capçalera del lloc web</h1>
</header>
<nav role="navigation">
<ul>
<li><a href="#home">Inici</a></li>
<li><a href="#about">Sobre nosaltres</a></li>
<li><a href="#services">Serveis</a></li>
<li><a href="#contact">Contacte</a></li>
</ul>
</nav>
<main role="main">
<article role="article">
<h2>Article Principal</h2>
<p>Aquest és el contingut principal de l'article.</p>
</article>
</main>
<aside role="complementary">
<h2>Secció Complementària</h2>
<p>Aquesta és una secció complementària.</p>
</aside>
<footer role="contentinfo">
<p>© 2023 El meu lloc web</p>
</footer>
</body>
</html>Exercici 2: Crear un Widget Accessible
Instruccions:
- Crea un botó que, quan es fa clic, mostri un diàleg modal.
- Utilitza els rols ARIA adequats per fer que el diàleg sigui accessible.
Solució:
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<title>Exercici de Widget Accessible</title>
<style>
#dialog {
display: none;
border: 1px solid #ccc;
padding: 20px;
background: #fff;
}
</style>
<script>
function toggleDialog() {
var dialog = document.getElementById('dialog');
var isHidden = dialog.getAttribute('aria-hidden') === 'true';
dialog.setAttribute('aria-hidden', !isHidden);
dialog.style.display = isHidden ? 'block' : 'none';
}
</script>
</head>
<body>
<button role="button" onclick="toggleDialog()">Obre el diàleg</button>
<div id="dialog" role="dialog" aria-labelledby="dialog-title" aria-hidden="true">
<h2 id="dialog-title">Diàleg Modal</h2>
<p>Aquest és un diàleg modal.</p>
<button role="button" onclick="toggleDialog()">Tanca</button>
</div>
</body>
</html>Errors Comuns i Consells
-
Error: No utilitzar rols ARIA en elements interactius.
- Consell: Assegura't d'afegir rols ARIA adequats a elements com botons, diàlegs i pestanyes per millorar l'accessibilitat.
-
Error: No proporcionar etiquetes adequades per a elements amb rols ARIA.
- Consell: Utilitza atributs com
aria-labelledbyiaria-describedbyper proporcionar etiquetes i descripcions clares.
- Consell: Utilitza atributs com
Conclusió
Els rols ARIA són una eina poderosa per millorar l'accessibilitat de les aplicacions web. Utilitzant correctament aquests rols, pots assegurar-te que el teu lloc web sigui més accessible per a tots els usuaris, incloent aquells que utilitzen tecnologies assistives. En el proper tema, explorarem com provar l'accessibilitat del teu lloc web per assegurar-te que compleix amb els estàndards d'accessibilitat.
Curs d'HTML
Mòdul 1: Introducció a l'HTML
- Què és l'HTML?
- Configuració del teu entorn
- Estructura bàsica de l'HTML
- Etiquetes i elements HTML
- Creant la teva primera pàgina HTML
Mòdul 2: Formatació de text en HTML
- Encapçalaments i paràgrafs
- Etiquetes de formatació de text
- Llistes: Ordenades i desordenades
- Cites i text preformatat
Mòdul 3: Enllaços i mitjans en HTML
Mòdul 4: Taules en HTML
- Estructura bàsica de taules
- Encapçalaments i peus de taula
- Fusionant cel·les: Colspan i Rowspan
- Estilitzant taules
Mòdul 5: Formularis en HTML
- Creant un formulari bàsic
- Elements de formulari: Input, Textarea, i Select
- Atributs i validació de formularis
- Enviant formularis
Mòdul 6: Elements semàntics d'HTML5
Mòdul 7: Tècniques avançades d'HTML
Mòdul 8: Integració d'HTML i CSS
- Enllaçant CSS a HTML
- CSS en línia, intern i extern
- Selectors bàsics de CSS
- Estilitzant elements HTML
Mòdul 9: Disseny web responsiu
- Introducció al disseny responsiu
- Etiqueta Meta del Viewport
- Media Queries
- Imatges i vídeos responsius
Mòdul 10: Millors pràctiques i accessibilitat
- Millors pràctiques d'HTML
- Conceptes bàsics d'accessibilitat web
- Utilitzant rols ARIA
- Proves d'accessibilitat
