Akkordeon - ein nicht unkritisches Pattern

Gerade beschäftige ich mich wieder einmal mit dem Pattern Accordion (zu deutsch natürlich Akkordeon), jenem netten, webzweinulligen AJAX Effekt. So gut mir das Ganze auch persönlich gefällt, so kritisch beurteile ich das Akkordeon als Effekt und Interaktionskonstrukt auch, insbesondere aber muss man zwingend die Grenzen des gelungenen Einsatzes von Akkordeons deutlich machen.

Ich habe mich ein wenig auf die Suche gemacht, was die Usability von Akkordeons angeht und bin immer noch unschlüssig, ob ich das Ganze aufgrund all dessen, was man falsch machen kann, nun für eine Errungenschaft halten soll oder nicht.

Auf den Gedanken, mich näher mit dem Akkordeon auseinanderzusetzen, brachte mit TYPOlight, das nämlich das Akkordeon als so genanntes Inhaltselement anbietet.  Die Frage war also: eignet sich das Akkordeon als Inhaltselement im parallelen Einsatz mit Text und Tabelle (in diesem Kontext ist es innerhalb von TYPOlight eingeordnet)? Ist das Akkordeon nicht grundsätzlich ein sehr vorsichtig zu genießendes interaktives (!) Pattern mit dann doch recht restriktiven Einsatzszenarien?

Wann eignet sich ein Akkordeon Effekt?

Klar, der Akkordeon Effekt, so toll er auch aussehen kann, ist nicht immer überall dort angebracht, wo man ihn gerne unterbringen würde, weil man ihn einfach schön findet und einfach “auch sowas haben möchte”. Man muss sich also durchaus überlegen, ob das Einsatzszenario wirklich geeignet ist. Vor einiger Zeit begegnete mir eine Implementierung, die den Hinweis “klicken Sie hier” trug. Da, so dachte ich mir, läuft definitiv etwas schief…

Der offensichtliche Vorteil von Akkordeons liegt klar auf der Hand: Akkordeons sind eine platzsparende Angelegenheit und eine gelungene Variante, rein kontextuelle Information anzuzeigen. Der große Nachteil wird leider erst klar, wenn die Implementierung falsch gewählt wird oder das Styling nicht stimmt, denn Akkordeons sind grundsätzlich nicht intuitiv verständlich: Akkordeons erfordern daher ein recht sorgsames Handling in Bezug auf Usability.

Allgemein eignen sich Akkordeons immer dann, wenn mehrere Optionen angeboten werden, die der Benutzer ansehen kann oder auch ansehen muss, wenn die Details dieser Optionen aber entweder umfangreich lang wären (und die Seite damit unübersichtlich machen würden) oder aber, wenn die Details nur im Kontext wirklich relevant sind, beispielsweise:

Menüs. Vielfach werden Akkordeons in Menüs eingesetzt und dort sind sie auch gut aufgehoben, denn dort werden sie verstanden. Sieht man sich ein aufklappbares Menü mal im Detail an, wird klar warum: das Akkordeon tut hier seinen Job und arbeitet wie man sich das vorstellen würde. Das Verhalten überrascht nicht, sondern passt sich  dem üblichen Verhalten von Menüs 1:1 an.

Ein bisschen abseits der Menüs bewegt sich übrigens das Beispiel Software. Wir kennen alle diese netten Klappeffekte für Bedienleisten rechts oder links.

FAQ. Eine interessante Implementierung. Schließlich sind Antworten nur interessant, wenn man eine Frage hat - und die Fragen werden einem übersichtlich dargestellt präsentiert. Was will man mehr?

Formulare. Auch hier finde ich Akkordeons prinzipiell gut aufgehoben. Stellen wir uns als gelungenes Beispiel einen Produktkonfigurator vor, - einen, bei dem man sich seine Hardware individuell zusammenstellen kann.

Eine recht umfassende Abhandlung zum Einsatzszenario von Akkordeons findet man beispielsweise auf .

Tja, und da sind außer dem Menü schon gleich ein paar “abers”, die man hinterherschicken muss, denn man kann viel, viel falsch machen… insbesondere aber im Kontext “Text”. Eigentlich bin ich ja schon fast geneigt zu sagen, nach diesen vier typischen Einsatzszenarien wäre sowieso Schluss, aber es gibt schließlich auch Variationen - also Akkordeon im Inhalt? Einfach so? Geht das? Und was gilt es zu beachten?

Akkordeon im Inhalt - einfach so? Beachtenswertes

TYPOlight führt das Akkordeon also als Inhaltselement und verleitet dazu, es falsch einzusetzen oder falsch zu gestalten und damit ratlose Benutzer zurückzulassen. Grundsätzlich geht es aber natürlich schon, wenn man mehrere Aspekte beachtet oder sich wenigstens ein paar Gedanken macht. Für mich gehören dazu:

Umfang und Inhalt

  1. Akkordeons machen erst dann Sinn, wenn es mehr als zwei Fächer gibt
  2. sie können hingegen unübersichtlich werden, wenn es zu viele Fächer gibt (ich denke aber nicht, dass hier die 5+/-2 Chunks Regel Beachtung finden muss)
  3. inhaltlich bewegt sich das Akkordeon im Text eher auf der Ebene “falls es Sie interessieren sollte”
  4. ein einzelnes Fach sollte keinen Roman beinhalten
  5. Inhalte sollten annähernd gleich umfangreich sein, so dass sich aufgeklappte Akkordeons in ihrer Größe nicht zu sehr voneinander unterscheiden

Verhalten und Design

  1. die Titel der  Akkordeonelemente (bei TYPOlight heißen sie übrigens Toggler) müssen bei Mouse Over wenigstens durch einen passenden Mauszeiger angezeigt werden (pointer: cursor;)
  2. der Titel sollte präsent gelayoutet werden und so auch die volle Breite des gesamten Akkordeons kennzeichnen
  3. geschlossene Fächer können durch ein Plussymbol, geöffnete durch ein Minussymbol markiert werden
  4. man sollte sich überlegen, ob sich das erste Element bereits als geöffnet präsentiert
  5. der Inhalt eines Fächers sollte in irgendeiner Form als zugehörig zum Titelelement, also dem gesamten Fächer gelayoutet werden und sich von anderen Titeln (zusammengeklappten Elementen) räumlich abheben
  6. damit: einzelne Fächer sollten räumlich getrennt werden, egal ob zusammengeklappt oder nicht

Layoutwünsche

Ich habe hier mal rudimentär ein Akkordeon in TYPOlight umgesetzt. Leider kann ich mit Bordmitteln nicht abfangen, was ich gerne gemacht hätte: das geöffnete Togglerelement anders zu stylen (-) als die geschlossenen (+) - so wurde es eben dann ein Pfeil.

“Klicken Sie hier…” - es ist schade, wenn ein User Interface nur durch Erklärungen verstanden werden kann.  Da gerade das Akkordeon viel Fingerspitzengefühl erfordert, wenn es um Usability und Design geht, kann ich mir vorstellen, kommt es hier ganz gerne mal zu einer Gratwanderung zwischen Kundenwünschen, eigenem ästhetischem Empfinden und der Notwendigkeit, den Besuchern ein verständliches Konstrukt anzubieten.

Ein typisches Beispiel dafür, dass nicht alles, was möglich ist und nochdazu innovativ aussieht, auch wirklich eine gelungene Sache ist. Ein typisches Beispiel vor allem auch dafür, dass es gelegentlich vielleicht sogar sinnvoll ist, auf ein Feature zu verzichten, wenn nicht ganz klar ist, dass der Nutzer einen echten Benefit daraus ziehen kann.

Im Prinzip- und genau das muss man sich eigentlich klar machen, ist das Akkordeon auf abstrakter Ebene ein Navigationselement - in diesem Fall Navigation innerhalb kleiner Text-  oder Bildabschnitte. Wird es auch so behandelt, dann ist es okay.

Bildnachweis: das Menu Akkordeon oben stammt aus einer zum Buch Designing Web Interfaces, von Bill Scott und Theresa Neil, Copyright 2009 Bill Scott and Theresa Neil, ISBN 978-0-596-51625-3

 

3 Antworten zum Beitrag “Akkordeon - ein nicht unkritisches Pattern”

  1. am 07 Apr 10 um 14:48 meint

    Guter Beitrag, hat mir sehr geholfen…

  2. am 10 Apr 10 um 15:19 meint

    Hallo Anne-Kathrin,

    bin gerade zufällig auf diesen Blog-Artikel gestoßen.
    Gerade das mit dem + und - unter Berücksichtigung der Usability finde ich sehr interessant.

    Während des Lesens fiel es mir quasi wie Schuppen von den Augen und mir wurde klar, wie oft ich selber intuitiv eher auf eine Plus-Symbol als auf den Link selbst klicke, um einen Link o.ä. zu öffnen.

    Vielen Dank für den guten Artikel.

    Gruß
    Heiko

  3. am 26 Mai 11 um 14:43 meint

    soweit_ok

    Zwei Aussagen dieses Beitrags sind bzgl. der Typolight/Contao-Implementierung dieser MooTools-Komponente unzutreffend:

    1. Formulare seien in Accordions gut untergebracht. - Nicht ohne Templateänderungen mit Javascript und je nach Ansatz auch PHP. Man kann es mit gewissen Einschränkungen hinbekommen, eine wirklich saubere Lösung ist jedoch noch nicht bekannt. Das Accordion-Script weiß nichts von ggf. auftretenden Formularfehlern und klappt es ungeachtet dessen wieder zu. Wodurch angezeigte Fehlermeldungen nicht sichtbar sind, was beim Benutzer für Irrtümer sorgt. Außerdem verbleibt das Formular dennoch im ungesendeten Fehlerzustand, was im Fall eines Seiten-Reloads zu der in dieser Situation verwirrenden, aber natürlich logischen Browsermeldung führt, die Daten müssten erneut gesendet werden.

    2. Man könne mit Bordmitteln einen geöffneten Toggler nicht anders stylen als die geschlossen. Auch das stimmt nicht - ist sehr einfach mit CSS zu bewerkstelligen. So zum Beispiel:

    .ce_accordion div.accordion > div {
    margin-top:-1px;margin-bottom:0px;margin-left:0px;margin-right:0px;
    padding-top:0px;padding-left:5px;padding-right:5px;
    border-right:solid 1px #B8B6B6;border-left:solid 1px #DBD1D1;
    border-bottom:solid 1px #B8B6B6;
    background:#F6F4F4;
    }

    /* geschlossen */
    .ce_accordion div.toggler {
    margin-bottom:0px;
    padding:0 10px;
    background:#656565 url(”../files/layout/accord_zugeklappt.gif”) right center no-repeat;
    font-weight:normal;
    font-size:12px!important;
    color:#FFFFFF;
    border-bottom:solid 1px #ADADAD;
    }

    /* offen */
    .ce_accordion div.active {
    padding:0 10px;
    background:#6268A2 url(”../files/layout/accord_aufgeklappt.gif”) right center no-repeat;
    font-weight:normal;
    color:#FFFFFF;
    border-bottom:solid 1px #4D4D4D;
    }

    /* Mouseover */
    .ce_accordion div.hover {
    text-decoration:none;
    background:#6268A2 url(”../files/layout/accord_hover.gif”) right center
    no-repeat; cursor:pointer;
    }

    Für Bereichsbegrenzungen kann man außerdem natürlich auch die id des jeweiligen Contao-Containers voranstellen (#main, #right, …) oder eine individuelle id.

    Ein weiterer Wunsch ist mitunter auch, eine Accordion-Gruppe mit einem individuellen Container zu umgeben, dem man dann z. B. ein float:left zuweisen kann, damit die Gruppe von nachfolgenden Inhalten umflossen wird wie ein eingefügtes Bild im Artikel. Wie Du schon schriebst ist ja beim Einsatz von Accordions der Kontext besonders wichtig und dies ist eine Erweiterung der Möglichkeiten. Vor allem nützlich bei Liquid Design, denn Accordions, die sich bei hoher Monitorauflösung über die gesamte Breite der Hauptspalte erstrecken, sehen nicht nur meistens bescheiden aus, sondern passen optisch häufig auch nicht zum Inhalt. Nichts leichter als das:
    Einfach je ein HTML-Element vor die Accordion-Gruppe platzieren und eines danach. Im ersten befindet sich das öffnende Tag und im zweiten das schließende . Im CSS-Selektor von “meine_klasse(n)” kann man dann seine Anweisungen platzieren. Noch besser geeignet ist eine id, weil man dann mit den Standardklassen alles speziell für diese ID noch weiter aufdröseln kann, während nicht dieser id angehörende Accordions davon unberührt bleiben.

    Na ja, unterm Strich fand ich den Artikel ein wenig am “ein nicht unkritisches Pattern”-Thema vorbei, weil über allg. “Usability”- u. Ästhetik-Aspekte keine Hilfestellung zu den technisch kritischen Punkten bietet.

Auch was dazu sagen?