Felix Riesterer: Von JS dynamisch erzeugter Inhalt kommt nicht an PHP-Variablen heran

Beitrag lesen

problematische Seite

Lieber Rolf,

Du hast hier aber nur einen schnöden Seitenwechsel

Einen Tab-Wechsel.

und warum sollte dieser eine neue Seite laden? Warum ändert sich nicht nur die Sichtbarkeit von Dokumentteilen?

Und den realisiert er durch den Fetch des neuen Tab-Inhalts. Das ist nicht UNBEDINGT nötig, aber machen kann man sowas, um einen Seitenneuaufbau (mit Scrollen nach oben) zu vermeiden,

Das klingt für mich eher nach einer Fehlerbeschreibung, denn nach einer technischen Lösung. Tut mir leid, aber: Warum einfach, wenn es auch kompliziert geht?

Es muss dann nur einen Fallbackmechanismus geben, der bei inaktivem JS den Seitenwechsel per Neuaufbau löst. Und das hat er gebaut. Mein ich jedenfalls, das so gesehen (und mitgebaut 😉) zu haben.

Na so ein Wahnsinn! Es gibt doch schon tabbed interfaces, warum dann nicht diese verwenden? Dazu schreibt Pickering in diesem Artikel am Ende gute Gründe:

Checklist

  • Don't provide tabbed interfaces unless they are suited to the use case and are likely to be understood and appreciated by the user. Just because you can doesn't mean you should.
  • Tables of content and same-page links are a simpler and more robust approach to many of the ostensible use cases for tabbed interfaces.
  • Make sure interfaces that appear as tabbed interfaces have the semantics and behaviors expected of them.
  • Single-page applications should not present or behave as tabbed interfaces, despite their shared use of JavaScript to switch between and/or populate content panes.

Ich übersetze das mal:

Checkliste

  • Stellen Sie keine Schnittstellen mit Registerkarten bereit, es sei denn, sie sind für den Anwendungsfall geeignet und werden wahrscheinlich vom Benutzer verstanden und geschätzt. Nur weil Sie es können, heißt das nicht, dass Sie es sollten.
  • Inhaltsverzeichnisse und Links auf derselben Seite sind ein einfacherer und robusterer Ansatz für viele der angeblichen Anwendungsfälle für Benutzeroberflächen mit Registerkarten.
  • Stellen Sie sicher, dass Schnittstellen, die als Schnittstellen mit Registerkarten angezeigt werden, die von ihnen erwartete Semantik und das erwartete Verhalten aufweisen.
  • Single-Page-Anwendungen sollten trotz ihrer gemeinsamen Verwendung von JavaScript zum Wechseln zwischen und/oder Füllen von Inhaltsfenstern nicht als Schnittstellen mit Registerkarten dargestellt werden oder sich so verhalten.

Also mag es eine vermeintlich gute Design-Idee sein, dass auf der problematischen Seite Registerkarten verwendet werden. Aber die Umsetzung sollte ohne fetch funktionieren und nur das Umschalten der Ansicht mittels JavaScript realisieren. Fehlt dieses, sollte die Ansicht überhaupt keine Registerkarten abbilden.

Liebe Grüße

Felix Riesterer