SPA - Statusänderung beim Scrollen?
bearbeitet von
Servus!
> Das klingt für mich jetzt nicht unbedingt nach SPA, sondern scheint mir eher nur eine Single Page Website zu sein (ich weiß gar nicht, ob das ein etablierter Begriff ist oder das ganz anders genannt wird).
Ja, da hab ich angefangen: eine ***„Single-Page Webseite“*** nur mit CSS zu realisieren. (Der andere Begriff, den ich bei der Lektüre gefunden habe, war ***„Onepager“***.
>Unter A wie Application verstehe ich jedenfalls sowas, was man auf dem Desktop als Programm geschrieben hätte, das beispielsweise als Ziel hat, irgendwelche Daten zu verwalten, also Datensätze anzuzeigen, zu suchen und zu bearbeiten.
Ja, da hast du Recht. Das ist das Problem, wenn man nur Demos ohne konkreten und praktischen Anwendungsfall prodzieren will. Oft ergibt dieses Beispiel ohne die Daten dann gar keinen Sinn.
>Und dann ergibt mein "Oh je" vom Anfang auch mehr Sinn, denn Daten in Eingabefelder zu bringen und von dort zur weiteren Verarbeitung wieder abzuholen, zu validieren und Fehler auszugeben ist etwas, was man ungern zu Fuß macht. Das wird nämlich sehr schnell sehr unübersichtlich - auch dann immer noch, wenn man mit jQuery eine Menge abkürzen kann - und deswegen sind Frameworks wie AngularJS entstanden, mit denen man die einzelnen Teilaufgaben schön separieren kann.
Da habe ich in der letzten Zeit einige Rants gelesen, in denen vor *Over-Engineerung* etc gewarnt wurde:
*molily: [Progressive enhancement for JavaScript web apps ](http://molily.de/single-page-apps/)
*shiftedup: [Is a Single-Page Application what you really need?](http://www.shiftedup.com/2014/10/15/is-a-single-page-application-what-you-really-need)
*Danny Markov: [Making a Single Page App Without a Framework](http://tutorialzine.com/2015/02/single-page-app-without-a-framework/)
>
> > Wie kann man erkennen, welcher State /welche Seite gerade im Viewport sichtbar ist?
>
> Bei SPAs nach meiner Definition tauscht man eher die Ansichten (Views) aus oder öffnet Dialoge, und Scrollen nimmt man nur für lange Listen/Tabellen. Da gäbe es keinen Bedarf, den Anker anhand von Scroll-Positionen zu ändern. Wohl aber ändert sich auch da der Anker oder auch andere Teile der URL, ohne dass die Seite neu geladen werden müsste. Das kann man über die History API erreichen (wenn man nicht gerade den Edge vor sich hat).
Vor der Funktion, Statusänderungen zu registrieren und dann die aria-Attribute zu ändern, hätte ich vorher geschaut, ob sich auch durch Scrollen was getan hätte.
Es war nur so eine Idee mein CSS-Beispiel auch in punkto Zugänglichkeit zu erweitern.
Herzliche Grüße
Matthias Scharwies
--
Es gibt viel zu tun - packen wir's an:
*[ToDo-Liste](http://wiki.selfhtml.org/wiki/Kategorie:ToDo)*{: style="display:list-item;list-style-type:disc;font-style:normal;margin-left:2em;"}
*[gewünschte Seiten](http://wiki.selfhtml.org/wiki/Spezial:Gew%C3%BCnschte_Seiten)*{: style="display:list-item;list-style-type:disc;font-style:normal;margin-left:2em;"}