Attributen
De attributen van dit element omvatten de globale attributen.
|
Geeft aan dat u wilt dat de browser een De browser slaat de brongegevens op die zijn geassocieerd met de navigatiegebaseerde attributiebron (zoals opgegeven in de responsheader Er zijn twee versies van dit attribuut die u kunt instellen:
|
|---|---|
|
Zorgt ervoor dat de browser de gelinkte URL behandelt als een download. Kan worden gebruikt met of zonder een
Opmerking
| |
|
De URL waar de hyperlink naar verwijst. Links zijn niet beperkt tot HTTP-gebaseerde URL's — ze kunnen elk URL-schema gebruiken dat door browsers wordt ondersteund:
Bovendien kunnen andere URL-functies specifieke delen van de resource lokaliseren, waaronder:
| |
Geeft een hint over de menselijke taal van de gelinkte URL. Geen ingebouwde functionaliteit. Toegestane waarden zijn dezelfde als het globale lang-attribuut. | |
| Definieert het <a>-element als een interest invoker. De waarde ervan is de id van het doelelement, dat op een bepaalde manier wordt beïnvloed (normaal gesproken getoond of verborgen) wanneer interesse wordt getoond in of verloren wordt op het invoker-element (bijvoorbeeld door erover te hoveren/niet meer te hoveren, of te focussen/blur te geven). Zie Interest invokers gebruiken voor meer details en voorbeelden. |
Een door spaties gescheiden lijst met URL's. Wanneer de link wordt gevolgd, stuurt de browser POST-verzoeken met de body PING naar de URL's. Doorgaans voor het bijhouden van gegevens. | |
Hoeveel van de referrer moet worden verzonden bij het volgen van de link.
| |
| De relatie van de gelinkte URL als door spaties gescheiden linktypen. | |
|
Waar de gelinkte URL moet worden weergegeven, als de naam voor een navigatiecontext (browsing context) (een tabblad, venster of
Opmerking
Het instellen van | |
| Geeft een hint over het formaat van de gelinkte URL met een MIME type. Geen ingebouwde functionaliteit. |
Verouderde attributen
|
Gaf een hint over de tekencodering van de gelinkte URL. Opmerking
Dit attribuut is verouderd en mag niet door auteurs worden gebruikt. Gebruik de HTTP-header |
|---|---|
| Wordt gebruikt met het shape-attribuut. Een door komma's gescheiden lijst met coördinaten. |
|
Was vereist om een mogelijke doellocatie op een pagina te definiëren. In HTML 4.01 konden Opmerking
Gebruik in plaats daarvan het globale attribuut |
| Specificeerde een omgekeerde link; het tegenovergestelde van het rel-attribuut. Verouderd omdat het erg verwarrend is. |
|
De vorm van het hyperlinkgebied in een imagemap. Opmerking
Gebruik in plaats daarvan het |
Toegankelijkheid
Sterke linktekst
De inhoud binnen een link moet aangeven waar de link naartoe leidt, zelfs zonder context.
Ontoegankelijke, zwakke linktekst
Een helaas veelvoorkomende fout is het linken van alleen de woorden "klik hier" of "hier":
<p>Learn more about our products <a href="/products">here</a>.</p>Resultaat
Toegankelijke, sterke linktekst
Gelukkig is dit eenvoudig op te lossen, en het is zelfs korter dan de ontoegankelijke versie!
<p>Learn more <a href="/products">about our products</a>.</p>Resultaat
Ondersteunende software heeft snelkoppelingen om alle links op een pagina op te sommen. Sterke linktekst komt echter alle gebruikers ten goede — de snelkoppeling "alle links opsommen" emuleert hoe ziende gebruikers snel pagina's doorlopen.
onclick-gebeurtenissen
Ankerelementen worden vaak misbruikt als nepknoppen door hun href in te stellen op # of javascript:void(0) om te voorkomen dat de pagina wordt ververst, en vervolgens te luisteren naar hun click-gebeurtenissen.
Deze nep-href-waarden veroorzaken onverwacht gedrag bij het kopiëren/slepen van links, het openen van links in een nieuw tabblad/venster, het toevoegen aan bladwijzers, of wanneer JavaScript wordt geladen, fouten geeft of is uitgeschakeld. Ze geven ook onjuiste semantiek door aan ondersteunende technologieën, zoals schermlezers.
Gebruik in plaats daarvan een <button>. Over het algemeen moet u een hyperlink alleen gebruiken voor navigatie naar een echte URL.
Externe links en linken naar niet-HTML-resources
Links die via target="_blank" in een nieuw tabblad/venster openen, of links die verwijzen naar een downloadbestand, moeten aangeven wat er gebeurt wanneer de link wordt gevolgd.
Mensen met verminderd gezichtsvermogen, die navigeren met behulp van schermlezertechnologie, of met cognitieve beperkingen kunnen in verwarring raken wanneer onverwacht een nieuw tabblad, venster of applicatie opent. Oudere schermlezersoftware kondigt dit gedrag mogelijk zelfs niet aan.
Link die een nieuw tabblad/venster opent
<a target="_blank" href="https://www.wikipedia.org">
Wikipedia (opens in new tab)
</a>Resultaat
Link naar een niet-HTML-resource
Als een pictogram wordt gebruikt om het gedrag van de link aan te geven, zorg er dan voor dat het een alt-attribuut heeft om het doel ervan te beschrijven. Mocht het pictogram ontbreken, dan brengt de inhoud van het alt-attribuut het gedrag van de link nog steeds over.
<p>
<a href="https://www.wikipedia.org/" target="_blank">
Wikipedia
<img src="new-tab.svg" width="14" alt="(Opens in new tab)" />
</a>
<br />
<a href="2017-annual-report.ppt">
2017 annual report
<img src="powerpoint.svg" width="14" alt="(PowerPoint file)" />
</a>
</p>
<p>
<a href="https://www.wikipedia.org/" target="_blank">
Wikipedia
<img src="missing-icon.svg" width="14" alt="(Opens in new tab)" />
</a>
<br />
<a href="2017-annual-report.ppt">
2017 annual report
<img src="missing-icon.svg" width="14" alt="(PowerPoint file)" />
</a>
</p>Resultaat
Skip-links
Een skip-link is een link die zo vroeg mogelijk in de <body>-inhoud wordt geplaatst en die naar het begin van de hoofdinhoud van de pagina verwijst. Meestal verbergt CSS een skip-link buiten beeld totdat deze de focus krijgt.
<body>
<a href="#content" class="skip-link">Skip to main content</a>
<header>…</header>
<!-- The skip link jumps to here -->
<main id="content"></main>
</body>.skip-link {
position: absolute;
top: -3em;
background: white;
}
.skip-link:focus {
top: 0;
}Resultaat
Skip-links laten toetsenbordgebruikers inhoud overslaan die op meerdere pagina's wordt herhaald, zoals kopnavigatie.
Skip-links zijn met name nuttig voor mensen die navigeren met behulp van ondersteunende technologie zoals switch control, spraakcommando's of mond-/hoofdstokken, waarbij het bewegen door repetitieve links een lastige taak kan zijn.
Grootte en nabijheid
Grootte
Interactieve elementen, zoals links, moeten een gebied groot genoeg bieden om ze gemakkelijk te kunnen activeren. Dit helpt een verscheidenheid aan mensen, waaronder mensen met motorische beperkingen en mensen die onnauwkeurige invoermethoden gebruiken zoals een touchscreen. Een minimumgrootte van 44×44 CSS-pixels wordt aanbevolen.
Alleen-tekst-links in doorlopende tekst zijn vrijgesteld van deze eis, maar het is nog steeds een goed idee om ervoor te zorgen dat er genoeg tekst is gehyperlinkt om gemakkelijk te kunnen worden geactiveerd.
Nabijheid
Interactieve elementen, zoals links, die dicht bij elkaar staan, moeten ruimte tussen zich hebben. Ruimte helpt mensen met motorische beperkingen, die anders per ongeluk de verkeerde interactieve inhoud kunnen activeren.
Ruimte kan worden gecreëerd met behulp van CSS-eigenschappen zoals margin.
Voorbeelden
Linken naar een absolute URL
HTML
<a href="https://voorbeeld.nl">Voorbeeld</a>Resultaat
Linken naar relatieve URL's
HTML
<a href="//example.com">Scheme-relative URL</a>
<a href="/en-US/docs/Web/HTML">Origin-relative URL</a>
<a href="p">Directory-relative URL</a>
<a href="./p">Directory-relative URL</a>
<a href="../p">Parent-directory-relative URL</a>a {
display: block;
margin-bottom: 0.5em;
}Resultaat
Linken naar een element op dezelfde pagina
<!-- <a> element links to the section below -->
<p><a href="#Section_further_down">Jump to the heading below</a></p>
<!-- Heading to link to -->
<h2 id="Section_further_down">Section further down</h2>Resultaat
U kunt href="#top" of het lege fragment (href="#") gebruiken om naar de bovenkant van de huidige pagina te linken, zoals gedefinieerd in de HTML-specificatie.
Linken naar een e-mailadres
Om links te maken die het e-mailprogramma van de gebruiker openen om een nieuw bericht te versturen, gebruikt u het mailto:-schema:
<a href="mailto:iemand@voorbeeld.nl">Send email to nowhere</a>Resultaat
Voor details over mailto:-URL's, zoals het opnemen van een onderwerp of body, zie E-maillinks of RFC 6068.
Linken naar telefoonnummers
<a href="tel:+49.157.0156">+49 157 0156</a>
<a href="tel:+1(800)555-0123">(800) 555-0123</a>Resultaat
Het gedrag van tel:-links varieert afhankelijk van de mogelijkheden van het apparaat:
- Mobiele apparaten bellen het nummer automatisch.
- De meeste besturingssystemen hebben programma's waarmee gebeld kan worden, zoals Skype of FaceTime.
- Websites kunnen telefoongesprekken voeren met
registerProtocolHandler, zoalsweb.skype.com. - Ander gedrag omvat het opslaan van het nummer in contacten, of het versturen van het nummer naar een ander apparaat.
Zie RFC 3966 voor syntaxis, aanvullende functies en andere details over het tel:-URL-schema.
Het download-attribuut gebruiken om een <canvas> als PNG op te slaan
Om de inhoud van een <canvas>-element als afbeelding op te slaan, kunt u een link maken waarbij de href de canvasgegevens is als een data:-URL, gemaakt met JavaScript, en het download-attribuut de bestandsnaam biedt voor het gedownloade PNG-bestand:
Voorbeeld tekenapp met opslaanlink
HTML
<p>
Paint by holding down the mouse button and moving it.
<a href="" download="my_painting.png">Download my painting</a>
</p>
<canvas width="300" height="300"></canvas>CSS
html {
font-family: sans-serif;
}
canvas {
background: white;
border: 1px dashed;
}
a {
display: inline-block;
background: #6699cc;
color: white;
padding: 5px 10px;
}JavaScript
const canvas = document.querySelector("canvas");
const c = canvas.getContext("2d");
c.fillStyle = "hotpink";
let isDrawing;
function draw(x, y) {
if (isDrawing) {
c.beginPath();
c.arc(x, y, 10, 0, Math.PI * 2);
c.closePath();
c.fill();
}
}
canvas.addEventListener("mousemove", (event) =>
draw(event.offsetX, event.offsetY),
);
canvas.addEventListener("mousedown", () => (isDrawing = true));
canvas.addEventListener("mouseup", () => (isDrawing = false));
document
.querySelector("a")
.addEventListener(
"click",
(event) => (event.target.href = canvas.toDataURL()),
);Resultaat
Beveiliging en privacy
<a>-elementen kunnen gevolgen hebben voor de beveiliging en privacy van gebruikers. Zie Referer-header: privacy- en beveiligingsoverwegingen voor meer informatie.
Het gebruik van target="_blank" zonder rel="noreferrer" en rel="noopener" maakt de website kwetsbaar voor exploitatieaanvallen via de window.opener-API, hoewel in nieuwere browserversies het instellen van target="_blank" impliciet dezelfde bescherming biedt als het instellen van rel="noopener". Zie browsercompatibiliteit voor details.
Technische samenvatting
| Content categories | Flow content, phrasing content, interactive content, palpable content. |
|---|---|
| Toegestane inhoud |
Transparent, behalve dat geen enkele afstammeling
interactive content of een
<a>-element mag zijn, en geen enkele afstammeling een opgegeven
tabindex-attribuut mag hebben.
|
| Weglaten van tags | Geen, zowel de begin- als de eindtag zijn verplicht. |
| Toegestane ouders |
Elk element dat
flow content accepteert, maar geen andere <a>-elementen.
|
| Impliciete ARIA-rol |
link wanneer het href-attribuut aanwezig is, anders
generic
|
| Toegestane ARIA-rollen |
Wanneer het Wanneer het
|
| DOM-interface | HTMLAnchorElement |