marctrix: Untermenu aufklappen - Anfängerfrage

Beitrag lesen

Hej Gunnar,

@@Gerhard1

was habe ich bei folgendem falsch gemacht?

Worauf Marc schon hinwies: Dein Markup ist fehlerhaft. Der Markup Checker spürt solche Fehler auf; visuelle Tests sind dafür auch ein gutes Werkzeug.

Das Untermenu ist nicht unsichtbar.

Und das bleibt es auch für alle Nutzer, die im Web anders navigieren sind als mit einer Maus (o.ä. Zeigergerät).

Persönlich bin ich ja auch der Meinung, dass display: none nicht die beste Lösung ist.

Ich würde die unteren Menüpunkte nur aus dem Viewport schieben, dann bleiben Sie für Blinde schon mal erreichbar.

So wie man es mit Skiplinks macht.

Allgemein ist es das aber nicht; jedes Menü muss auch mit der Tastatur bedienbar sein.

Full ACK

Una Kravets hat da eine Lösung mit :focus-within vorgestellt.

So weit war ich schon vor Jahren, wenn auch ohne die Möglichkeiten von focus-within. Das ist IMHO gar nicht nötig, denn man sieht ja am aufgeklappten Untermenü, welcher obere Menü-Punkt dazu gehört.

Warum ich eine reine CSS-Lösung aber für ungut halte, erkläre ich unten.

Für kleine Menüs mag die durchaus brauchbar sein; für größere siehe den Kommentar von Marcy Sutton.

Probleme gibt es beim schrägen Überfahren um Untermenü-Punkte zu erreichen, wobei (kurzzeitig) das Eltern-li verlassen wird. Hier ist JS nötig um eine kurze Verzögerung zu erreichen, bevor sich das Menü wieder zuklappt. Habe da mit Delay und so romprobiert, das aber mit CSS allein nicht hinbekommen. Vielleicht hatte ich einen schlechten Tag?

Jedenfalls ist nicht die Tastatur-Bedienung die große Herausforderung, wie in dem Artikel behauptet (und dann "gelöst" wird - ist längst gelöst), sondern die Bedienung mit der Maus ist das größere Problem. Das habe ich mi reinem CSS nicht lösen können.

Kannst es ja selber mal probieren, @Gunnar Bittersmann ,denn bei einem Menü muss man sicherstellen, dass es 0,3 Sekunden bis 0,5 dauert, bevor das Menü wieder geschlossen wird.

Marc

0 128

Untermenu aufklappen - Anfängerfrage

Gerhard1
  • css
  • html
  1. 0
    marctrix
    1. 0
      Gerhard1
      1. 0
        marctrix
        1. 1
          Camping_RIDER
          1. 0
            marctrix
            1. 0
              Camping_RIDER
  2. 0
    Martl
    1. 0
      Gerhard1
      1. 0
        Martl
    2. 0
      beatovich
  3. 2
    Felix Riesterer
    1. 0
      Gerhard1
      1. 0
        beatovich
        1. 0
          Felix Riesterer
        2. 1
          Gunnar Bittersmann
          • barrierefreiheit
          • html
          1. 0
            beatovich
      2. 0
        Felix Riesterer
        • css
        • html
        • javascript
        1. 0
          Camping_RIDER
        2. 0
          Camping_RIDER
          1. 0
            beatovich
        3. 0
          Gunnar Bittersmann
          1. 0
            Felix Riesterer
            1. 0
              beatovich
              1. 0
                Felix Riesterer
            2. 0
              Gunnar Bittersmann
              1. 0
                Felix Riesterer
                1. 0
                  beatovich
                2. 0
                  beatovich
                  1. 0
                    Felix Riesterer
                    1. 0
                      beatovich
                    2. 0
                      Felix Riesterer
                3. 0
                  at
                  1. 0
                    Felix Riesterer
                    1. 1
                      Christian Kruse
                      1. 1
                        Gunnar Bittersmann
                        • html
                        • xml
                        1. 0
                          Christian Kruse
                          1. 1
                            Gunnar Bittersmann
                            • html
                            1. 0
                              Christian Kruse
                              1. 1
                                Matthias Apsel
                                1. 0
                                  Camping_RIDER
                            2. 0
                              Gunnar Bittersmann
                              • html
                              • html
                              • xml
                    2. 2
                      Auge
              2. 0
                Gunnar Bittersmann
      3. 1
        Gunnar Bittersmann
  4. 0
    Gunnar Bittersmann
    1. 1
      beatovich
    2. 0
      marctrix
      1. 0
        Gunnar Bittersmann
        1. 0
          marctrix
    3. 0
      Gunnar Bittersmann
      1. 0
        Gerhard1
        1. 0
          marctrix
          1. 1
            dedlfix
            1. 0
              marctrix
          2. 0
            Christian Kruse
            1. 0
              marctrix
              1. 0
                Christian Kruse
                1. 0
                  marctrix
                  1. 0
                    Christian Kruse
                    1. 0
                      marctrix
                      1. 0
                        Christian Kruse
                        1. 0
                          marctrix
          3. 0
            Gerhard1
            1. 1
              marctrix
              1. 0
                beatovich
                1. 0
                  marctrix
                  1. 0
                    beatovich
                    1. 0
                      marctrix
                      1. 0
                        beatovich
                        1. 0
                          marctrix
                          1. 0
                            beatovich
                            1. 0
                              Gerhard1
                              1. 0
                                marctrix
          4. 0
            Gerhard1
            1. 0
              marctrix
  5. 0
    Camping_RIDER
    1. 0
      Gunnar Bittersmann
      1. 0
        Camping_RIDER
        1. 0
          Gunnar Bittersmann
          1. 0
            Camping_RIDER
            1. 0
              Gunnar Bittersmann
              1. 0
                Camping_RIDER
              2. 0
                Felix Riesterer
          2. 1
            Felix Riesterer
            • css
            • html
            • menschelei
            1. 0
              Gunnar Bittersmann
  6. 0

    Schön wäre es, wenn man die für mich unverständlichen Diskussionen beenden könnte

    Gerhard1
    1. 1
      Camping_RIDER
      1. 0
        Gerhard1
        1. 2

          Kleine Führung durch die unverständlichen Diskussionen!

          Camping_RIDER
          1. 0
            Auge
            1. 0
              beatovich
              1. 0
                Auge
                1. 0
                  beatovich
                2. 0
                  Gunnar Bittersmann
            2. 0
              Camping_RIDER
    2. -1
      Martl
      1. 0
        Gunnar Bittersmann
  7. 0

    Untermenu aufklappen - Was für eine Diskussion!

    Rolandi
    1. 0
      marctrix
    2. 0
      beatovich
      1. 1
        Rolandi
        1. 0
          marctrix
        2. 0
          beatovich
          1. 1
            Rolandi
            1. 0
              beatovich
              1. 0
                marctrix
                1. 0
                  beatovich
                  1. 0
                    marctrix
                    1. 0
                      beatovich
                2. 0
                  Rolandi
                  1. 0
                    marctrix
                  2. 0
                    Gunnar Bittersmann
                    1. 1
                      Rolandi
                      1. 0
                        Camping_RIDER
                        1. 0
                          marctrix
                        2. 0
                          beatovich
                          1. 0
                            Gunnar Bittersmann
                        3. 1
                          Gunnar Bittersmann
                          1. 1
                            Camping_RIDER
                      2. 0
                        Gunnar Bittersmann
                        1. 0
                          Rolandi
                          1. 0
                            marctrix
    3. 0
      Rolandi
  8. 0
    marctrix
    1. 0
      marctrix
      1. 1
        Rolandi
        1. 0
          marctrix