Einführung in Dropdowns
Beispiele
Auswählen
MultipleSelect
Combobox
MultipleCombobox
Select
<Select
label="Your favorite character"
initialValue={{ id: '1', label: 'Anakin' }}>
<SelectOption
value={{
id: '1',
label: 'Anakin',
}}
/>
<SelectOption
value={{
id: '2',
label: 'Luke',
}}
/>
</Select>
MultipleSelect
<MultipleSelect
label="Your favorite characters"
initialValue={[
{ id: '1', label: 'Anakin' },
{ id: '2', label: 'Luke' },
]}>
<SelectOption
value={{
id: '1',
label: 'Anakin',
}}
/>
<SelectOption
value={{
id: '2',
label: 'Luke',
}}
/>
<SelectOption
value={{
id: '3',
label: 'Yoda',
}}
/>
</MultipleSelect>
Combobox
export function ComboWithFilter() {
const CHARACTERS = [
{ id: '1', label: 'Anakin Skywalker' },
{ id: '2', label: 'Luke Skywalker' },
{ id: '3', label: 'Master Yoda' },
{ id: '4', label: 'Han Solo' },
];
const { filteredOptions, onSearch, resetFilter } =
useFilteredOptions(CHARACTERS);
return (
<Combobox
label="Select 1 option"
secondaryLabel="Options filtered by user input"
onSearch={onSearch}
onBlur={resetFilter}>
{filteredOptions.map(({ id, label }) => (
<ComboboxOption
key={id}
value={{ id, label }}
/>
))}
</Combobox>
);
}
MultipleCombobox
export function MultipleComboWithFilteAndInitial() {
const CHARACTERS = [
{ id: '1', label: 'Anakin Skywalker' },
{ id: '2', label: 'Luke Skywalker' },
{ id: '3', label: 'Master Yoda' },
{ id: '4', label: 'Han Solo' },
];
const { filteredOptions, onSearch, resetFilter } =
useFilteredOptions(CHARACTERS);
return (
<MultipleCombobox
label="Select options"
secondaryLabel="Options filtered by user input"
onSearch={onSearch}
onBlur={resetFilter}
initialValue={[CHARACTERS[1], CHARACTERS[2]]}>
{filteredOptions.map(({ id, label }) => (
<ComboboxOption
key={id}
value={{ id, label }}
/>
))}
</MultipleCombobox>
);
}
Verwendung
Überblick
Mit der Dropdown-Komponente wird Benutzern eine Reihe von Optionen angezeigt, aus denen sie auswählen können. Dropdown-Menüs zeigen die Optionen nach und nach an und verhindern, dass Benutzer zu viele Informationen auf einmal sehen. Sie können auch zum Gruppieren von Informationen verwendet werden. Dropdown-Menüs werden immer durch eine Feldbeschriftung oder einen Titel unterstützt, der/die sich vor dem Steuerelement befindet.
Diese Komponente gibt es in vier Varianten: Auswahl, Mehrfachauswahl, Kombinationsfeld und Mehrfach-Kombinationsfeld.

Zu verwenden
- In Formularen auf ganzen Seiten, in modalen Fenstern oder Seitenpanels.
- Zum Filtern oder Sortieren von Inhalten auf einer Seite.
- Wenn eine Option ausgewählt werden kann, verwenden Sie Auswahl oder Kombinationsfeld.
- Wenn mehrere Optionen gleichzeitig ausgewählt werden können, verwenden Sie Mehrfachauswahl oder Mehrfach-Kombinationsfeld.
Nicht zu verwenden
Es gibt eine kleine Anzahl von Optionen (5 oder weniger), aus denen Benutzer wählen können. Verwenden Sie die Optionsfeldgruppe für kleine Gruppen von sich gegenseitig ausschließenden Elementen oder Kontrollkästchen für Mehrfachauswahlelemente.
Quelle: Nielsen Norman Group
Formatierung
Aufbau
Beispiel der Dropdown-Komponente, Variante Auswahl.
- Beschriftung: Beschreibt den Zweck des Eingabefeldes.
- Hilfetext (optional): Liefert zusätzlichen Kontext oder hilft dem Benutzer bei der richtigen Auswahl.
- Dropdown-Eingabe: Zeigt die vom Benutzer ausgewählte Option oder Platzhaltertext an.
- Dropdown-Menü: Zeigt eine Liste mit Optionen zur Auswahl an.
Autovervollständigung
Jutro unterstützt Dropdown-Menüs mit Eingabefeldern mit Autovervollständigung. Benutzer können manuell Text eingeben, um die Dropdown-Elemente zu filtern. Diese Funktion ist hilfreich, um Benutzern die Auswahl aus einer langen Liste zu erleichtern.
Dropdown-Menüs mit aktivierter Autovervollständigung machen Vorschläge, wenn Benutzer mit der Eingabe beginnen. Die Auswahl wird basierend auf den Zeichen angezeigt, die der Benutzer eingegeben hat. Je mehr Zeichen der Benutzer in das Feld eingibt, desto detaillierter wird die Liste.
Dropdown-Varianten, die das Suchen und Filtern unterstützen, finden Sie unter Combobox und Mehrfach-Kombinationsfeld.

Reihenfolge der Optionen
Wenn Sie das Dropdown-Menü zum Sortieren verwenden, sollten Sie die Optionen in der richtigen Reihenfolge anordnen. Zum Beispiel:
- Von der häufigsten zu der am wenigsten häufigen Option
- Von der einfachsten zur komplexesten Option
- Von der am wenigsten riskanten zur riskantesten Option
Die erste Option wird oben in der Liste angezeigt.
Ordnen Sie die Liste der Optionen nicht alphabetisch an, es sei denn, dies ist für Ihren Anwendungsfall sinnvoll. Bei Listen von Ländern und anderen Problemen mit bekannten Elementen ist es oft in Ordnung, sie alphabetisch zu ordnen. Sie müssen jedoch sicher sein, dass die Benutzer den Namen ihrer Auswahl eindeutig kennen.
Quelle: Nielsen Norman Group
Inhalt
Allgemeine Richtlinien fürs Schreiben
- Verwenden Sie die Großschreibung des ersten Worts und von Substantiven für alle Aspekte der Gestaltung von Guidewire-Produktschnittstellen. Schreiben Sie nicht alles groß.
- Verwenden Sie in den meisten Situationen Verben im Präsens und im Aktiv.
- Verwenden Sie gebräuchliche Abkürzungen, um Ihrem Text einen natürlichen und informellen Ton zu verleihen.
- Verwenden Sie eine einfache Sprache. Vermeiden Sie unnötigen Jargon und komplexe Sprache.
- Halten Sie Wörter und Sätze kurz.
Eine Beschriftung einfügen
Positionieren Sie die Dropdown-Beschriftung außerhalb des Feldes, sodass sie immer sichtbar ist. Auf ein Dropdown-Menü ohne Beschriftung kann nicht zugegriffen werden.
Ersetzen Sie Feldbeschriftungen nicht durch Platzhaltertext im Feld. Das schadet der Gebrauchstauglichkeit und hat viele negative Folgen.


Halten Sie Menüpunkte prägnant
Beschränken Sie jede Dropdown-Option auf eine Textzeile. Wenn der Text zu lang für eine Zeile ist, können Sie eine Ellipse (...) für Überlaufinhalte hinzufügen und eine browserbasierte QuickInfo hinzufügen, um die vollständige Zeichenfolge anzuzeigen. Es wird jedoch empfohlen, Kürzen nach Möglichkeit zu vermeiden.


Streichen Sie Füllwörter
Streichen Sie Füllwörter wie „bitte“, um die Anzahl der Wörter und Zeichen zu reduzieren und das Erfassen des Inhalts zu erleichtern.
„Bitte“ wird oft überstrapaziert, daher behalten wir es uns für bestimmte Situationen vor. Zum Beispiel:
- Bei einem Problem, bei dessen Lösung Guidewire den Benutzer nicht unterstützen kann.
- Wenn der Benutzer aufgefordert wird, eine komplizierte Aufgabe auszuführen.
- Wenn die Software die Ursache für das Problem ist.
Wenn Sie einen Benutzer einfach nur auffordern, eine Option aus dem Dropdown-Menü auszuwählen, würden Sie dies nicht mit „bitte“ einleiten.


Fügen Sie Hilfetext hinzu, wenn er aussagekräftig ist
Verwenden Sie Hilfetext, um Kontext bereitzustellen und zu vermitteln, was ausgewählt oder wie eine Option ausgewählt werden soll. Hier sind einige Beispiele dafür, was Sie in den Hilfetext aufnehmen könnten:
- Eine allgemeine Beschreibung der Dropdown-Optionen
- Hinweise, die dem Benutzer bei der richtigen Auswahl helfen
- Mehr Kontext dazu, warum ein Benutzer eine Auswahl treffen muss
Verwenden Sie Hilfetext nur für relevante Informationen. Vermeiden Sie die Verwendung von Hilfetext, der einfach nur die gleichen Informationen wiedergibt, die in der Beschriftung erscheinen.
Verwenden Sie für Hilfetext die übliche Groß- und Kleinschreibung. Schreiben Sie 1 bis 2 kurze, vollständige Sätze, die mit einem Punkt enden.


Verwenden von Fehlertext zur Anleitung der Benutzer
Der Text der Fehlermeldung erklärt dem Benutzer, wie er den Fehler beheben kann. Im Falle des Dropdown-Menüs hängen Fehler oft mit etwas zusammen, das für die Inline-Validierung korrigiert werden muss. Wenn beispielsweise jemand keinen Beschäftigungsstatus auswählt und dieses Feld ein Pflichtfeld ist, können Sie den Benutzer mithilfe von Fehlertext zu einer Lösung führen: „Wählen Sie einen Beschäftigungsstatus aus.“
Verwenden Sie für Fehlertext die übliche Groß- und Kleinschreibung. Schreiben Sie 1 bis 2 kurze, vollständige Sätze, die mit einem Punkt enden.


Pflichtfelder markieren
Markieren Sie erforderliche Felder mit einem Sternchen (*). Das Sternchen steht vor der Feldbeschriftung. Benutzer können so leicht herausfinden, welche Felder erforderlich sind, indem sie nur das Zeichen ganz links in der Beschriftung scannen.
Zusätzlich zur Markierung erforderlicher Felder mit einem Sternchen wird empfohlen, klare Anweisungen am oberen Rand des Formulars einzufügen, z. B. „Alle mit einem Sternchen gekennzeichneten Felder sind Pflichtfelder“, um sicherzustellen, dass die Benutzer die Bedeutung des Sternchens verstehen.


Schreiben Sie das erste Wort und Substantive groß.
Für Feldbeschriftungen, Platzhaltertext und Menüelemente wird die übliche Groß- und Kleinschreibung verwendet.
Weitere Informationen zum Implementieren der Groß- und Kleinschreibung finden Sie im UI-Textstyleguide.


Verhalten
Alle Dropdown-Varianten haben das gleiche Verhalten wie in diesem Abschnitt beschrieben. Informationen zu speziellen Verhaltensweisen finden Sie in den Anwendungsrichtlinien für die einzelnen Varianten.
Zustände
Das Dropdown-Feld wird ohne Wert (Standard), Platzhaltertext und vorausgefüllte Eingabe angezeigt.
| Bild | Zustand | Beschreibung |
|---|---|---|
| Kein Wert (Standard) | Zeigt dem Benutzer an, dass kein Wert ausgewählt wurde und kein Platzhalter vorhanden ist. | |
| Platzhalter | Zeigt dem Benutzer an, dass kein Wert ausgewählt wurde. Der Platzhalter ist ausgegraut. | |
| Vorausgefüllte Eingabe | Zeigt dem Benutzer an, dass die Eingabe mit Daten vorausgefüllt ist. |
Dropdown-Menüs haben auch interaktive Zustände für aktiviert, fokussiert, deaktiviert, Fehler, schreibgeschützt und nur anzeigen.
| Zustand | Beschreibung |
|---|---|
| Aktiviert | Zeigt dem Benutzer an, dass das Element für die Interaktion aktiviert ist. |
| Fokussiert | Zeigt dem Benutzer an, auf welchem UI-Element im System der Fokus liegt. |
| Deaktiviert | Zeigt dem Benutzer an, dass der Eingabewert aufgrund lokaler Faktoren nicht geändert werden kann. Zum Beispiel muss ein Kontrollkästchen über dem Eingabefeld aktiviert sein, um auf dieses Eingabefeld zuzugreifen. Der Benutzer kann durch Interaktion mit der Seite eine Aktion zur Aktivierung durchführen. |
| Fehler | Zeigt an, dass der Benutzer einen Fehler bei der Validierung gemacht hat. Der Fehlertext gibt dem Benutzer eine korrigierende Rückmeldung. |
| Schreibgeschützt | Zeigt dem Benutzer an, dass der Eingabewert aufgrund externer Faktoren nicht geändert werden kann. Zum Beispiel fehlender Schreibzugriff. Der Benutzer kann Maßnahmen zur Aktivierung ergreifen, indem er sich z. B. an einen Administrator wendet. |
| Nur Anzeige | Der Zustand „Nur Anzeige“ wird in zwei Fällen verwendet:
|
Die folgende Abbildung veranschaulicht interaktive Dropdown-Zustände.

Interaktionen
Maus
Benutzer können mit diesem Element interagieren, indem sie auf den Bereich innerhalb des Rahmens klicken.
Tastatur
Das Dropdown-Menü wird mit der Leertaste aus- und eingeklappt. Die Benutzer navigieren mithilfe die Pfeiltasten durch die Optionen und wählen mit der Leertaste oder der Eingabetaste eine Option aus.
Screenreader
Die aria-labelledby stellt eine programmgesteuerte Verknüpfung zwischen dem Eingabefeld und dessen Beschriftung her. Das WAI-ARIA-Attribut aria-autocomplete='list' gibt an, dass eine Liste von Optionen angezeigt wird, aus der der Benutzer auswählen kann, das Bearbeitungsfeld jedoch fokussiert bleibt. Wenn in Storybook die Option „required“ ausgewählt wird, werden die Attribute „required“ und „aria-required="true"“ zum Eingabefeld hinzugefügt.
Barrierefreiheit
Das Kontrastverhältnis von Textelementen zu ihrem Hintergrund liegt über 4,5:1 gemäß den Anforderungen der WCAG 2.1 AA. Nicht-textuelle Inhalte, die eine Bedeutung vermitteln müssen (z. B. Symbole und Sichtbarkeit des Tastaturfokus), weisen ein Kontrastverhältnis von mindestens 3:1 zu den angrenzenden Farben auf. Alle Inhalte sind bis einschließlich 400 % sichtbar und funktionsfähig, ohne dass ein Scrollen in zwei Dimensionen erforderlich ist.
Diese Komponente wurde validiert, um die Zugänglichkeitsrichtlinien WCAG 2.1 AA zu erfüllen. Vom Autor des Inhalts vorgenommene Änderungen können sich jedoch auf die Konformität mit der Barrierefreiheit auswirken.
Bei Verwendung dieser Komponente in Ihren Anwendungen:
- Erleichtern Sie den Benutzern das Verständnis der Inhalte und verwenden Sie keine zu langen Bezeichnungen für Optionen.
- Verwenden Sie in Ihren Dropdown-Komponenten keine implizit fokussierbaren Elemente wie Schaltflächen, Kontrollkästchen und Links und keine implizit semantischen Inhalte wie Überschriften.
Code
Es gibt vier verschiedene Komponenten, die die „QuickInfo“-Spezifikationen implementieren. Jede ist für eine bestimmte Gruppe von Szenarien vorgesehen. Lesen Sie die zugehörige Dokumentation und nehmen Sie die, die Ihren Anforderungen am besten entspricht.
Auswählen
MultipleSelect
Combobox
MultipleCombobox
Welche Komponente soll verwendet werden?
Jede Dropdown-Komponente bietet einige spezielle Funktionen. Die Unterschiede zwischen diesen Komponenten liegen in folgenden Bereichen:
- Durchsuchbar: Bietet die Komponente eine Möglichkeit für Benutzer, Optionen zu schreiben und zu suchen, oder funktioniert sie wie ein herkömmliches Auswahlelement?
- Mehrfachauswahl: Können Benutzer eine oder mehrere Optionen gleichzeitig auswählen?
- Unterstützung für benutzerdefinierte Optionen: Können Benutzer eigene Optionen hinzufügen oder können ausschließlich die vordefinierten Optionen verwendet werden?
Davon ausgehend ein kurzer Überblick über die Verfügbarkeit der Funktionen:
| Komponente | Durchsuchbar | Mehrfachauswahl | Unterstützung für benutzerdefinierte Optionen |
|---|---|---|---|
Select | Nein | Nein | Nein |
MultipleSelect | Nein | Ja | Nein |
Combobox | Ja | Nein | Nein |
MultipleCombobox | Ja | Ja | Nein (künftige Funktion) |
Weitere Informationen finden Sie in der Dokumentation zu den einzelnen Komponenten.
Änderungsprotokoll
10.10.1
Für diese Komponente wurden zusätzliche Design-Token hinzugefügt.
10.0.0
Die folgenden Komponenten wurden eingeführt:
@jutro/components/Select@jutro/components/MultipleSelect@jutro/components/Combobox@jutro/components/MultipleCombobox
Die früheren Dropdown-bezogenen Komponenten DropdownSelectField und TypeaheadMultiSelectField wurden verworfen und in das @jutro/legacy-Paket verschoben. Um die entsprechende Dokumentation anzuzeigen, wechseln Sie zu einer Version der Dokumentation, die älter als 10.0 ist.
Ursprüngliche Speicherorte der Komponenten:
DropdownSelectField:@jutro/components/DropdownSelectFieldTypeaheadMultiSelectField:@jutro/components/TypeaheadMultiSelectField
Aktualisierte Speicherorte der Komponenten:
DropdownSelectField:@jutro/legacy/components/DropdownSelectFieldTypeaheadMultiSelectField:@jutro/legacy/components/TypeaheadMultiSelectField
Es gibt Codemods, mit denen Sie vorhandene Importe automatisch umbenennen können.