|
||||
[Ausblenden der beiden Burgermenülinks vor Screenreadern]
Da missverstehst Du mich noch. Per CSS blende ich vor den Screenreader nichts aus. Sondern per aria-hidden=true. Du schreibst ja selber, dass display:none den Inhalt vor einem Screenreader nicht verbirgt. Zitat:
Der Link beschäftigt sich mit dem, was Google "strukturierte Daten" nennt. https://developers.google.com/search...tructured-data Empfohlenes Format: JSON-LD. Mit Zugänglichkeit für Blinde hat das nichts zu tun. Zitat:
Vielleicht nochmal mein Ansatz zur Navi: Wenn das Nav-Element verwendet wird, weiß der Screenreader, dass Navilinks drin stehen. Mehr braucht es nicht. Auch keine weitere role Attribute etc. Aber ich lasse mich dazu gerne eines Besseren belehren.
__________________
|
Sponsored Links |
Sponsored Links |
|
||||
Ich habe das Markup für die Navi deutlich verschlankt, das CSS entsprechend angepasst und für eine leichtere Nachvollziehbarkeit kommentiert.
Mir fällt nichts mehr ein, wie man es weiter verbessern könnte Viel Spaß beim Entwickeln noch besserer Burgernavis HTML-Code:
/* Zwei Regeln allein für das Aussehen des Navigationsmenüs*/ a { display: block; } a[aria-current="page"] { font-weight: bold; } /* Ausblenden des Element a mit ☰ und ✕, wenn das Display breit genug ist*/ a[href="#show-nav"], a[href="#hide-nav"] { display: none; } @media screen and (max-width: 40em) { /* Eine Regel allein für das Aussehen des ☰ und ✕*/ a[href="#show-nav"], a[href="#hide-nav"] { padding: 0.5em; background: gray; color: white; } /* Die folgenden 4 Regeln sind für die Funktionalität des Burgermenüs entscheiden */ /*Blendet erstmal alle Elemente a aus*/ nav a { display: none; } /* Blendet Element a mit ☰ ein */ a[href="#show-nav"] { display: block; } /* Nach einem "Klick" auf Element a mit ☰, werden alle nachfolgenden Geschwister eingeblendet, auch das Element a mit ✕ */ a[href="#show-nav"]:target ~ a { display: block; } /*Nach einem "Klick" auf Element a mit ☰ wird dieses Element ausgeblendet, damit nur noch das Element a mit ✕ sichtbar ist */ a[href="#show-nav"]:target { display: none; } } HTML-Code:
<header> <nav> <!-- Begin: Extra Markup --> <a href="#show-nav" aria-hidden="true" id="show-nav">☰</a> <a href="#hide-nav" aria-hidden="true">✕</a> <!-- End: Extra Markup --> <a href="/">Startseite</a> <a href="/ueber-uns/">Über uns</a> <a aria-current="page" href="/faq/">FAQ</a> <a href="/archiv/">Archiv</a> </nav> </header>
__________________
Geändert von AndreasB (24.03.2018 um 12:11 Uhr) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
FAQ -- Häufig gestellte Fragen und häufig gegebene Antworten | mazzo | CSS | 10 | 05.04.2012 17:32 |
Navi: Eltern-Element verbreitert sich beim hover auf Kind-Element | img | CSS | 0 | 07.12.2010 18:42 |
Darstellungsproblem | flohpapa | CSS | 3 | 16.12.2009 08:55 |
IE verschiebt Navi Menü | macmensa | CSS | 7 | 17.08.2009 16:45 |
Vertikales Menü streikt im IE6 | kopfaquarium | CSS | 1 | 16.10.2007 14:45 |