HTML en CSS leren: Focus, contrast en labels
Toegankelijk
Bij het repaircafé komt ook Rosa langs. Ze ziet slecht en gebruikt geen muis, maar werkt met het toetsenbord en een schermlezer. Walter wil dat zij zich net zo makkelijk kan aanmelden als iedereen.
Voor iedereen
Wie met het toetsenbord werkt, springt met Tab van veld naar veld en moet zien waar hij is: de focus. Haal die rand nooit weg zonder iets in de plaats. Met :focus-visible geef je een duidelijke rand die alleen verschijnt als iemand met het toetsenbord werkt.
Contrast: tekst moet genoeg verschillen van zijn achtergrond. De richtlijn voor gewone tekst is een verhouding van minstens 4,5 tegen 1. Lichtgrijs op wit haalt dat niet.
En elk veld krijgt een label, zoals in les 6. Tik in een veld van de pagina: de gele rand toont waar je bent.
input:focus-visible,button:focus-visible { outline: 3px solid #ffd166; outline-offset: 2px;}Probeer het zelf
Geef de velden en de knop bij focus via het toetsenbord een gele rand, outline: 3px solid #ffd166, met outline-offset: 2px. Zonder focus blijft er geen rand.
/* Jouw CSS komt hier. */<link rel="stylesheet" href="style.css"><main> <form> <label for="naam">Naam</label> <input id="naam" type="text"> <label for="email">E-mail</label> <input id="email" type="email"> <button>Aanmelden</button> </form></main>body { margin: 0; font-family: system-ui, sans-serif; background: #f4f0e8; color: #2a2622;}header { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}header h1 { margin: 0; font-size: 1.5rem;}nav a { padding: 6px 10px; border-radius: 999px; color: #ffffff; text-decoration: none;}main { padding: 0 16px 24px;}.slogan { margin: 16px 0 0; max-width: 40rem;}.tafels { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0;}.knop { display: inline-block; margin-top: 12px; padding: 10px 18px; border-radius: 999px; background: #d1495b; color: #ffffff; font-weight: 700; text-decoration: none;}/* Een gekleurde rand per tafel en een etiket met een gaatje: alleen voor de sier. */.tafel { padding: 14px 16px 16px; border-top: 4px solid #f2a541; border-radius: 14px; background: #ffffff; box-shadow: 0 1px 2px rgb(42 38 34 / 0.08), 0 8px 18px -12px rgb(42 38 34 / 0.35);}.tafel h2 { margin: 0 0 6px; font-size: 1.1rem;}.tafel p { margin: 0; color: #5b544c;}.fiets { border-top-color: #2a9d8f;}.elektro { border-top-color: #f2a541;}.naai { border-top-color: #d1495b;}.computer { border-top-color: #5b6cae;}.etiket { display: inline-block; margin-bottom: 8px; padding: 3px 10px 3px 16px; border-radius: 4px 999px 999px 4px; background: radial-gradient(circle at 7px 50%, #ffffff 0 2.5px, transparent 3px), #ffd166; color: #3d2c00; font-size: 0.75rem; font-weight: 700;}form { display: grid; gap: 6px; max-width: 28rem; margin: 16px 0;}label { margin-top: 8px; font-weight: 600;}input,select,textarea { padding: 8px 10px; border: 1px solid #b9b0a3; border-radius: 8px; background: #ffffff; color: #2a2622; font: inherit;}button { justify-self: start; margin-top: 12px; padding: 10px 18px; border: 0; border-radius: 999px; background: #1f4e5f; color: #ffffff; font: inherit; font-weight: 700;}footer { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}Klaar voor meer?
De volledige les heeft 5 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les