npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@utrecht/skip-link-css

v1.2.0

Published

Skip link component for the Municipality of Utrecht based on the NL Design System architecture

Downloads

86

Readme

Skip link

Skip links zijn belangrijk om te gebruiken op de meeste websites omdat voor sommige gebruikers het hierdoor niet onnodig veel tijd kost om je website te gebruiken. Met een skip link ga je naar een andere plek op dezelfde pagina, zodat je bijvoorbeeld gelijk een artikel kan lezen en links daarin kunt aanklikken, zonder tijd te besteden aan de hoofdnavigatie.

Skip links zijn meestal onzichtbaar als je de pagina opent, maar ze zijn wel makkelijk vindbaar voor deze gebruikers. Met het toetsenbord vindt je een skip link door op Tab te drukken wanneer je de pagina hebt geladen. (Voor macOS gebruikers is het nodig om de standaard-instellingen aan te passen voordat dit werkt.)

Maak skip links naar de drie belangrijkste onderdelen op de pagina, in deze volgorde:

  1. main content: vaak een link naar een <main> of <article> element
  2. main navigation: als je een main navigation component hebt, link dan hier naar als je het niet al de volgende link is in de tabvolgorde.
  3. search form: als je een zoekveld hebt om vanuit deze pagina de zoeken, gebruik deze skip link als laatste.

Als je de skip link gaat gebruiken op een website, begin dan consistent elke pagina met de skip link zodat de navigatie op een voorspelbare manier werkt (WCAG 3.2.3).

Skip links zijn niet nodig op een simpele pagina waar alleen tekst staat en geen navigatie. Een startpagina van een zoekmachine heeft bijvoorbeeld wel een navigatie én een zoekformulier, maar door het gebruik van autofocus voor het zoekveld heeft het geen zin om een skip link te gebruiken.

HTML

  • plaats de skip link als allereerste interactieve element van de pagina, bijvoorbeeld als eerste HTML-element in <body>.
  • plaats de skip link voor landmarks zoals het <header> element van de page header component.
  • gebruik een <div> of <p> om de link in de plaatsen, gebruik niet een losse <a>, zodat de link ook duidelijk is als CSS niet geladen is.
  • gebruik geen <nav> element voor skip links.

Hoe het niet moet

Skip links onnodig in een <nav> HTML-element

Het is belangrijk dan gebruikers snel bij de navigation landmark voor het hoofdmenu komen kunnen komen, het zou niet handig zijn als je altijd eerst de navigation landmark met skip links moet overslaan.

Niet:

<nav class="skip-links">…</nav>

Wel:

<div class="skip-links">…</div>

De pagina is beter leesbaar wanneer de CSS niet is geladen als je een block-level HTML-element gebruikt zoals div of p met daarin de skip links, dan komt de HTML die volgt na de skip links netjes op een eigen regel te staan.

Skip link onleesbaar door overlap met achtergrond

Als je de skip link een vaste locatie geeft met CSS position, dan kan de link over de inhoud van de pagina heen staan. Gebruik daarom een achtergrondkleur voor de skip link, zodat de link-tekst altijd leesbaar is.

Onnodig scrollen bij focus

Niet:

.utrecht-skip-link {
  position: absolute;
  /* … */
}

Wel:

.utrecht-skip-link {
  position: fixed;
  /* … */
}

Privacy

Het moet voor skip link gebruikers duidelijk zijn als er een cookie consent is op de pagina, je wilt niet dat deze belangrijke functionaliteit wordt overgeslagen.

Links

  • WCAG 1.3.1: een link role wordt gebruikt, het liefst door het a HTML-element met een fragment identifier URL: <a href="#target">. Gebruik niet button.
  • WCAG 1.3.2: een cookie consent formulier moet als eerste komen, de skip link als tweede.
  • WCAG 2.4.1: gebruik een skip link op alle pagina's waar voor de unieke inhoud van die pagina er herhalende informatie staat, zoals een header of navigatie.
  • WCAG 2.4.3: een cookie consent moet als eerste focus krijgen, direct daarna de skip links. Zet de HTML van de skip link vooraan in het document. Gebruik niet tabindex om de gewenste focus volgorde te bereiken, want dat kan problemen opleveren met bijvoorbeeld cookie consent formulieren.
  • WCAG 2.4.7: de skip link is zichtbaar wanneer die focus heeft. Het visueel ontwerp maakt duidelijk dat het element focus heeft, doordat de stijl consistent is met andere links wanneer ze focus hebben. De skip link mag ook altijd zichtbaar zijn, het is niet verplicht ze standaard te verbergen.
  • WCAG 2.5.2: een skip link moet geactiveerd worden bij click, niet bij mousedown.
  • WCAG 2.5.2
  • WCAG 2.5.5: skip link afmeting is ten minste 44×44px.
  • WCAG 3.2.3: skip link wordt consistent gebruikt op elke pagina.
  • WCAG 3.1.3: gebruik duidelijke taal voor het label. Bijvoorbeeld niet: "Direct naar de secundaire content met widgets".
  • WCAG 3.2.4: gebruik dezelfde labels voor de skip link op alle pagina's. Bijvoorbeeld niet: "Navigatie overslaan" op een gedeelte van de site, en "Naar de inhoud" op andere pagina's.