Moin!
So eine Sache wie Erinnerungsvermögen ist Sache des Webentwicklers und ist ja ohne weiteres zum Beispiel mit php zu realisieren.
Hier unterschlägst du den bereits gebrachten, berechtigten Einwand, dass dazu alle gemachten Eingaben zum Server übertragen werden müssten (sofern das "Erinnerungsvermögen" auch diese betreffen soll).
Um soetwas zu realisieren braucht bei jedem Absenden des Formulars ausschließlich der ausgewählte Eintrag zum Server geschickt werden. Dort am Server werden mit der Zeit alle gesendeten Inhalte in einer Datanbank gesammelt (pro senden des Formulars also maximal ein neuer Eintrag). Mit der Zeit kommen da vermutlich einige Einträge zusammen. Bei jedem Aufruf des Formulars werden dann diese Einträge aus der Datenbank geholt und in die HTML-Struktur der Combobox eingebunden. Dann ausgegeben ... und schon kann man einen der vergangenen Eingaben erneut auswählen. Nicht gesendete Eingaben werden dabei natürlich nicht berücksichtigt. Aber bei den einfachen Textfeldern die durch diverse Browser eine Erinnerung erhalten ist dies auch nicht der Fall.
Die Sache ist die: Nur weil du dir die Combobox wie beschrieben vorstellst, heißt das ja noch lange nicht, dass andere Programmierer sich die Combobox nicht komplett anders vorstellen können - und eben genau diesen Effekt des "der Benutzer schreibt X Boxeinträge, die alle mit übertragen werden, plus die Auswahl eines der Einträge" haben wollen würden, wenn es denn eine Combobox gäbe.
Warum halte ich eine Clientseitige Erinnerung nicht für sinnvoll?
Weil dies ein zusätzliches Service ist das man wenn man will leicht serverseitig hinzufügen kann.
Kann man ja eben nicht, weil der Server die Eintragungen, die nicht ausgewählt abgeschickt werden, nie erfährt.
Nebenbei führt das zu Konflickten, da dann serverseitige Vorschläge mit Clientseitigen Vorschlägen irgendwie vereint werden müssten. Welche wären oben? welche unten? wären sie vermischt? wären sie voneinander zu unterscheiden?
Da kommst du also in den Bereich der Benutzerfreundlichkeit einer Combobox, die anscheinend ja doch nicht so einfach zu handhaben ist. Genau diese Punkte dürften auch dazu geführt haben, dass sie in HTML komplett weggelassen wurde.
Diese offenen Fragen die dann durchaus den User selbst beschäftigen könnten würde die Sinnhaftigkeit der Combobox verlieren, da die Vorschläge für den User nicht mehr durchschaubar sind was die Benutzerführung wieder verschlechtert. Obwohl eine Combobox eher für das Gegenteil gedacht ist. (die Benutzerführung zu verbessern)
Das bestreite ich. Woran erkennt man als Nutzer, dass man es mit einer Combobox zu tun hat im Vergleich zu einer Selectbox oder einer Mehrfachselectbox?
Comboboxen sind verhältnismäßig selten in Benutzerinterfaces. Und das ist auch gut so IMO.
Außerdem ist eine Clientseitige Erinnerung in den meisten Browsern beim einfachen Textfeld bereits vorhanden. Die Textfelder haben also im prinzip schon den Funktionsumfang einer Combobox. Mit dem Nachteil, dass keine Einträge vom Server vorgeschlagen werden können. Also ist eine Clientseitige Version im Prinzip schon vorhanden. Deshalb halte ich eine Clientseitige Erinnerung für eine mögliche Combobox für wenig sinnvoll, weil sie keine Bereicherung sondern nur eine Verwirrung wäre. Was dadurch User verschreckt und verjagt.
Das ist aber nun doch wieder ein Widerspruch! Der Browser bietet als Service an, dass bereits gemachte Einträge in ein Textfeld gespeichert und später wieder abgerufen werden können, sobald man die ersten paar Zeichen tippt.
Warum darf so eine Funktion bei Comboboxen, wo man sich unter Umständen auch mehrfach die Finger wundtippt, wenn der gewünschte Text nicht in der Vorauswahl enthalten ist, plötzlich nicht enthalten sein? Weil es Zuordnungsprobleme mit der Quelle der Auswahlmöglichkeiten gibt. Man müßte also eine doppelte Combobox machen, eine Ausklappliste mit Servervorschlägen, und eine mit gespeicherten Clientvorschlägen. Dabei würden dann aber alle User die Segel streichen, das ist klar.
Andererseits: Warum sollte eine Combobox schlechter sein, als ein Textfeld?
Eben weil eine Combobox solche Probleme hat, gibt es sie vermutlich auch nicht in HTML.
Benutzerfreundlich ist ein Formular dann wenn es möglichst schlank gehalten ist und keine Anleitung braucht.
Da stimme ich dir zu. Je komplizierter aber ein Control ist, desto mehr Erklärung braucht man.
Die Controls, die in HTML existieren, sind die absolute Basis, die jeder Benutzer sofort an ihrer Form erkennt. Bis auf eine Ausnahme: <select multiple>! Mehrfachauswahl wird in keiner Weise optisch dargestellt, man kann es nur erraten, indem man testweise mit STRG klickt. Oder indem eine Anleitung im Formular steht. Oftmals ist aber die Nutzung von Checkboxen der schlauere und übersichtlichere Weg.
Eine Combobox wäre jetzt noch ein weiterer Level der Komplexität: Etwas, was vorausgefüllte Listeneinträge bietet, und am Rand mit dem üblichen "Klick mich, ich klappe eine Liste aus"-Icon versehen ist, nimmt plötzlich auch noch freie Texteingaben an, und erlaubt (sowas muß man zwingend mit einplanen) auch das Editieren der bestehenden Einträge (wäre ja blöd, wenn in der Liste etwas wie "Käse" stehen würde, man aber gerne "Doppelt Käse" auf die Pizza haben will, und Worte, die schon verfügbar sind, neu eintippen müßte). Wobei das Beispiel dann richtig extrem wird, denn was passiert mit dem Eintrag "Käse", wenn ich ihn bearbeitet habe? Kommt ein neuer Eintrag "Doppelt Käse" in die Liste, und "Käse" bleibt? Oder wird "Käse" überschrieben? Wird "Doppelt Käse" wieder gelöscht, wenn ich mir überlege, doch noch was anderes als Freitext einzugeben? Und wie wehrt man die Begehrlichkeiten der Programmierer ab, die nicht nur den am Ende ausgewählten Eintrag wissen wollen, sondern auch alle sonst neu eingetragenen Werte?
Da diese Vorgangsweise wie du sie beschreibst unüblich ist braucht es auch eine Anleitung. Und Formulare mit Anleitung schrecken Benutzer grundsätzlich eher ab.
Was braucht denn hier eine Anleitung:
<select> ...<option>Anderes (unten eingeben)</option></select>
Anderes: <input type="text">
Da ergibt sich die Nutzung des Formulars doch praktisch von selbst, und das Resultat ist auch sehr eindeutig.
Ich würde eben gerne die Benutzerfreundlichkeit verbessern. Das ist so wie ich das sehe auch das wesentliche Ziel einer Combobox.
Comboboxen sind, was die Benutzerfreundlichkeit angeht, meist grausam. Recht gut gelöst sind die URL-Zeilen in Browsern. Da steht allerdings nicht die Listenauswahl im Vordergrund, sondern es handelt sich primär um ein Textfeld, welches beim Tippen durch "dynamische, unterstützte Listenauswahl" schneller befüllt werden kann.
Nur: So eine Funktionalität kriegst du in einem HTML-Formular nicht hin, weil du ja bekanntlich niemals sämtliche gemachten Einträge kennen kannst, und außerdem ohne Javascript auch nicht die beim Tippen erfolgte Einschränkung der Gesamtliste hinkriegst. Ob das mit Javascript in vernünftiger Zeit hinzukriegen wäre, ist außerdem noch sehr die Frage, zumal ohne Javascript die zwangsweise entstehende riesige Liste absolut benutzerfeindlich wäre.
- Sven Rautenberg
--
"Love your nation - respect the others."