Naar de inhoud

dvlopcore toolkit

Taalkiezer

Een gebruik van het uitklapmenu: de talen van een site, elk genoemd in de eigen taal met eigen lang en hreflang, de huidige gemarkeerd met aria-current.

Demo

Eigenschappen bewerken

Wijzig een waarde en pas die toe; de demo wordt met de nieuwe waarden getoond. Een geweigerde waarde wordt bij het veld gemeld en de demo houdt de beginwaarde.

De code van de taal van de pagina: op het knopje getoond en in de lijst gemarkeerd met aria-current.

Herstellen

De demo toont de beginwaarden.

Eigenschappen

EigenschapTypeStandaardToegestane waardenOmschrijving
languagesarrayverplicht[code => naam van de taal in die taal], de $languages van de site.
linksarrayverplicht[code => URL van dezelfde pagina in die taal, of haar startpagina].
currentstringverplichtde, en, es, fr, it, nlDe code van de taal van de pagina: op het knopje getoond en in de lijst gemarkeerd met aria-current.
stringsarrayverplichtDe interfaceteksten in de taal van de pagina (language_current met %s).

Gebeurtenissen

Dit component verstuurt geen gebeurtenissen.

Toetsenbord

ToetsenDoet
Enter, Space, Escape, Arrow Down, Arrow Up, Home, End, TabDie van het uitklapmenu: openen en sluiten, sluiten en focus terug, langs de talen gaan, verlaten en sluiten.

Toegankelijkheid

Waarom zo

Een taal wordt in die taal genoemd, met een bijpassende lang-tag, zodat een schermlezer "Deutsch" Duits en "Nederlands" Nederlands uitspreekt (filosofie 37, COMMON-287). Zichtbaar is het knopje een door CSS getekende wereldbol, de huidige taal en een pijltje; "Taal: " is er alleen voor schermlezers, als naastgelegen span, zodat het knopje als één regel wordt voorgelezen. Geen landmark eromheen: de eigen tekst van de knop is zijn naam.

Verwijzingen

Gebruikt

Gebruikt door

Nog geen gebruik vastgelegd.

README

language-picker

A use of the disclosure: the languages of a 'subdomain' site. Each link is named in its own language with its own lang and hreflang; the current one has aria-current="true"; the chip shows a globe (globe.svg, a CSS mask), the current language and a chevron; "Taal: " is there for screen readers only, as a sibling span, in the page's language.

  • dvlop_language_picker(array $props): string; props: languages (code => name), links (code => URL of the same page or the home page), current, strings.
  • Script and keyboard: the disclosure's.
  • Language tags: the test renders the picker in every language of languages/ and asserts the tags.
  • Tokens: the disclosure's (--disclosure-*, css/tokens.css); the globe takes the chip's text colour. A site colours the picker in its css/site.css through those tokens (components/disclosure/README.md); no token of the picker's own, so the picker and the share menu are coloured alike.
  • On every site with more than one language, the 'legacy-path' road included (links /en/<page>, /en).

Change log

  • 2026-10-14: colours from the --disclosure-* tokens; shown on 'legacy-path' sites too, in place of the EN NL switcher.

  • 2026-10-14: new, from languagePicker() in header.php; the globe moved here from css/globe.svg.