Aloa!
Würde gerne ein barrierefreies Menü mit 2 (oder mehreren Ebenen) gestalten.
Das Menü muss / soll ja als Liste angelegt werden.
Das Problem ist nur, sobald ein Unterpunkt eine neue Unterebene hat, müsste innerhalb dieses Listenpunktes eine neue Liste mit der nächstenen Ebene erscheinen:
<ul>
<li> EBENE1.Link1</li>
<li> EBENE1.Link2
<ul>
<li>EBENE2.Link1</li>
<li>EBENE2.Link2</li>
</ul>
</li>
<li>EBENE1.Link3</li>
</ul>
Ich bekomme es nicht hin, dass - wenn es eine 2. ebene gibt - das listenelement erst danach geschlossen wird.
habe es auch schon mit IFSUB probiert, aber dann überlagert die ACT eigenschaft, die IFSUB eigenschaft.
Dazu habe ich auch verschiedenes ausprobiert, aber alles hat nicht richtig funktioniert:
Die lösung funktioniert zwar technisch, ist asber nicht valide:
temp.nav_sub = HMENU
temp.nav_sub.entryLevel = {$menu_entry}
temp.nav_sub.1 = TMENU
temp.nav_sub.1.wrap = <ul class="menue_sub_ebene1">|</ul>
temp.nav_sub.1 {
expAll = 0
NO.allWrap = <li class="menue_sub">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub_act">|</li>
}
temp.nav_sub.2 = TMENU
temp.nav_sub.2.wrap = <ul class="menue_sub_ebene2">|</ul>
temp.nav_sub.2 {
expAll = 0
NO.allWrap = <li class="menue_sub2">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub2_act">|</li>
}
Der zweite Versuch.
Dachte so könnte es klappen, aber irgendwie setzt ACT noch das < /li > dahinter - trotz des IFSUB. Ausserdem passt das mit den Farbzuordnungen dann nicht, denn der Unterpunkt soll ja nur seine Farbe wechseln wenn aktiv. Ausserdem fehlt dann auch ein abschließendes < /li >, wenn die 2. Ebene nicht ausgeklkappt ist.
temp.nav_sub = HMENU
temp.nav_sub.entryLevel = {$menu_entry}
temp.nav_sub.1 = TMENU
temp.nav_sub.1.wrap = <ul class="menue_sub_ebene1">|</ul>
temp.nav_sub.1 {
expAll = 0
NO.allWrap = <li class="menue_sub">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub_act">|</li>
IFSUB = 1
IFSUB.allWrap = <li class="menue_sub_act">|
}
temp.nav_sub.2 = TMENU
temp.nav_sub.2.wrap = <ul class="menue_sub_ebene2">|</ul></li>
temp.nav_sub.2 {
expAll = 0
NO.allWrap = <li class="menue_sub2">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub2_act">|</li>
}
3. Versuch.
Ich dachte mir, so müsste es funktionieren. aber trotzdem überlagert das normale ACT den ACT.IFSUB wrap. Ausserdem wird im IE das Untermenü in der falschen Farbe angezeigt (die der ersten Ebene, woh weil der < li >- tag nicht zu ist), im Firefox geht es aber. Das könnte man zur not, aber hoffentlich noch mit dem z-index regeln.
temp.nav_sub = HMENU
temp.nav_sub.entryLevel = {$menu_entry}
temp.nav_sub.1 = TMENU
temp.nav_sub.1.wrap = <ul class="menue_sub_ebene1">|</ul>
temp.nav_sub.1 {
expAll = 0
NO.allWrap = <li class="menue_sub">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub_act">|</li>
ACT.IFSUB = 1
ACT.IFSUB.allWrap = <li class="menue_sub_act">|
}
temp.nav_sub.2 = TMENU
temp.nav_sub.2.wrap = <ul class="menue_sub_ebene2">|</ul></li>
temp.nav_sub.2 {
expAll = 0
NO.allWrap = <li class="menue_sub2">|</li>
ACT = 1
ACT.allWrap = <li class="menue_sub2_act">|</li>
}
Nebenbei gefragt, damit habe ich mich noch gar nicht beschäftigt, wüsste auch keinen Ansatz:
Gibt es eine Möglichkeit automatisch < dfn> - Tags vor das Menü zu genieren, bei dem die Zahlen dann automatisch zugeordnet werden?
Die könnte man dann ja ausblenden, aber ich wüsste nicht wie man die Zahlen je nach Ebene und Reihenfolge richtig generiert.
Siehe hier:
http://www.einfach-fuer-alle.de/artikel/menues/tag2/
Wenn das alles zusammen wär, gäbs dann einen tollen Code für ein barrierefreies Typo - Menü