Links med forskellige destinationer
Silktide finder links på en side, der har samme tekst, men peger på forskellige destinationer. Når to ens udseende links fører til forskellige steder, kan folk ikke skelne dem fra hinanden uden at følge hvert enkelt.
<!-- Two "News" links that go to different pages -->
<p>Learn the latest about our products: <a href="/products/news">News</a></p>
<p>Learn the latest about our services: <a href="/company/news">News</a></p>
Hvorfor det er vigtigt
Personer, der bruger en , åbner ofte en liste over alle links på siden uden kontekst. To links, der begge annonceres som "News", men fører til forskellige sider, kan ikke skelnes fra hinanden på den liste, så brugeren skal åbne hvert enkelt for at finde ud af, hvor det fører hen. Den samme tvetydighed påvirker brugere af talegenkendelse, som vælger links ved at sige deres navn højt.
Sådan løser du det
- Giv hvert link en særskilt synlig tekst, der beskriver destinationen, f.eks. "Produktnyheder" og "Virksomhedsnyheder".
- Hvis designet ikke kan ændres, kan du tilføje en -etiket for at skelne mellem linksene uden at ændre det, seende brugere ser:
<!-- The aria-label becomes the name screen readers announce -->
<a href="/products/news" aria-label="Product news">News</a>
<a href="/company/news" aria-label="Company news">News</a>
- Du kan også inkludere ekstra tekst i linket, som er visuelt skjult, men læses
af skærmlæsere (for eksempel et
<span>, der er formateret med en CSS-klasse kun til skærmlæsere). - Hvis linksene funktionelt set er ækvivalente for brugeren – for eksempel hvis de omdirigerer til den samme side – skal du fundet.
Sådan tester Silktide dette
- Find alle links på siden, og spring elementer over, som du har udelukket fra kontrol.
- Fastslå hvert links – den tekst, som annoncerer, og som omfatter ARIA-etiketter og billeders , ikke kun den synlige tekst.
- Normaliser hvert links destination til sammenligning: fragmenter (delen efter
#), søgestrenge (delen efter?), URL-skemaet og efterfølgende skråstreger ignoreres. - Når links med det samme tilgængelige navn peger på mere end én særskilt destination, markeres dem alle.
Fejlfinding
Links til forskellige afsnit på den samme side markeres ikke
Da fragmenter ignoreres ved sammenligning af destinationer, tæller links som
/guide#intro og /guide#pricing som den samme destination. Det er
med vilje: Begge fører til den samme side.
Links, der kun adskiller sig ved sporingsparametre, markeres ikke
Søgestrenge ignoreres ved sammenligning af destinationer, så /offers?src=header
og /offers?src=footer tæller som den samme side frem for forskellige
destinationer.