Punti di riferimento accessibili

Nov 27 2022
WCAG 2.4.

Il criterio di successo del bypass dei blocchi WCAG 2.4.1 afferma che le tecnologie assistive come i lettori di schermo devono consentire agli utenti di navigare in base ai punti di riferimento per aggirare i blocchi di contenuto ripetuti su più pagine web.

È essenziale definire la struttura HTML semanticamente in modo corretto e accurato. I punti di riferimento svolgono un ruolo astratto e vitale nell'aiutare gli utenti a navigare nel contenuto della pagina utilizzando tecnologie assistive. Identifica in modo programmatico le sezioni della pagina e consente agli utenti di percepire il contenuto in modo più significativo.

La chiave è identificare la struttura logica della pagina e utilizzare i ruoli di riferimento appropriati o gli elementi definiti da HTML5 per costruire la pagina semanticamente valida.

Quasi tutte le pagine hanno una struttura standard : header , main , navigation , region , footer e aside .

<header> identifica un Banner nella pagina, che generalmente si trova in alto. Contiene prevalentemente la ricerca, il logo del marchio e la navigazione principale. Idealmente, ogni pagina dovrebbe avere un solo punto di riferimento Banner.

Using the HTML5 element

<header>
  <div>
    company logo..brand name
  </div>
  <nav>
    main navigation of the website
  </nav>
</header>

Using the Aria Technique

<div role=“header”>
    company logo.. brand name or navigation 
</div>

Using the HTML5 element

<main>
  <h1> main heading for the page </h1>
  <div> main content goes here </div>
</main>

Using the Aria Technique

<div role=“main”>
  <h1> main heading of the page </h1>

   ........main content goes here.......

</div>

Using the HTML5 element 

<nav id="primary-nav" aria-label="primary navigation">
  <ul>
    <li><a href="page-link-1">page link 1</a></li>
    <li><a href="page-link-2">page link 2</a></li>
    <li><a href="page-link-3">page link 3</a></li>
    <li><a href="page-link-4">page link 4</a></li>
  </ul>
</nav>

More than one <nav> tag in the same page

<nav aria-labelledby="pagination-nav">
  <h2 id="pagination-nav">heading content</h2>
  <ul>
    <li><a href="page-link-1">page link 1</a></li>
    <li><a href="page-link-2">page link 2</a></li>
    <li><a href="page-link-3">page link 3</a></li>
  </ul>
</nav>

Using the Aria Technique

<div role="navigation">
  <ul>
    <li><a href="page-link-1">page link 1</a></li>
    <li><a href="page-link-2">page link 2</a></li>
    <li><a href="page-link-3">page link 3</a></li>
  </ul>
</div>

HTML structure

<header>
  <a href="#main" id="skip-links" class="offscreen">
    skip to main
  </a>
</header>
<main id="main"></main>
CSS

.offscreen{
    position: absolute;
    left: -999px;
    width: 1px;
    height: 1px;
    top: auto;
    overflow: hidden;

  &:focus {
    position: static;
    margin: auto;
    width: auto;
    height: auto;
    }
}


Using the HTML5 element

<section aria-labelledby="heading_id">
  <h2 id="heading_id"> heading goes here</h2>
  .....region content goes here.....
</section>

Using the Aria Technique 

<div role="region" aria-labelledby="heading_id">
  <h2 id="heading_id"> heading goes here</h2>
   .........region content goes here.........
</div>


Using the HTML5 element

<footer>
  <p>......footer content goes here....</p>
  <ul>
    <li><a href="page_link_1.html">page link 1</a></li>
    <li><a href="page_link_2.html">page link 2</a></li>
  </ul>
</footer>

Using the Aria Technique 

<div role="contentinfo">
  <p>......footer content goes here......</p>
</div>


Using the HTML5 element 

<aside aria-labelledby="heading_id">
  <h2 id="heading_id">.......heading content goes here....</h2>
  ........region content goes here.......
</aside>


Using the Aria Technique 

<div role="complementary" aria-labelledby="heading_id">
  <h2 id="heading_id">heading content goes here</h2>
  ......region content goes here......
</div>

JAWS
Premi Ins + Ctrl + R => Elenco dei punti di riferimento
Q => Vai al punto di riferimento principale
R => Vai al punto di riferimento successivo
shift+ R => Vai al punto di riferimento precedente

NVDA
Premi Ins + F7 => Elenco dei punti di riferimento
D => Vai al punto di riferimento principaleriferimento
+ D => Vai al punto di riferimento precedente

Voiceover
Premi Ctrl + Opzione + U => Elenco dei punti di riferimento
W => Vai al punto di riferimento successivo
Maiusc + W => Vai al punto di riferimento precedente