QuickInfos bieten eine unaufdringliche Möglichkeit, Fragen zur Benutzeroberfläche zu beantworten oder einer Benutzeroberfläche einige Informationen oder Anweisungen hinzuzufügen. Sie bieten Hilfe bei Bedarf und kontextbezogene Hilfe und können den Wert von Funktionen vermitteln. QuickInfos werden angezeigt, wenn Benutzer auf ein Element klicken, mit der Maus darauf zeigen oder es fokussieren.
QuickInfos sind nicht geeignet, um Informationen oder Anweisungen zu übermitteln, die für die Erledigung einer Aufgabe entscheidend sind.
QuickInfos sollten strategisch eingesetzt werden. Widerstehen Sie der Versuchung, Ihre Benutzeroberfläche mit QuickInfos zu überladen, die nicht auf ein klares Benutzerbedürfnis eingehen.
Do
Verwenden Sie QuickInfos, um zusätzliche Informationen zu geben, z. B. warum ein Feld
aufgeführt ist.
Don't
Wichtige Informationen gehören nicht in QuickInfos, sondern müssen direkt ersichtlich sein.
QuickInfos haben einen dunklen Hintergrund mit weißem, überlagerndem Text, der die Informationen deutlich anzeigt. Ein Caret-Zeichen gibt an, woher die QuickInfo stammt.
QuickInfos gibt es in drei Varianten, die unterschiedliche Designanforderungen erfüllen:
Basis-QuickInfo: Die Basis-QuickInfo wird für allgemeine Informationen verwendet. Der Text ist beschreibend und bezieht sich auf das Feld. Die Basis-QuickInfo kann auch interaktive Elemente wie Schaltflächen oder Links enthalten.
Symbol-QuickInfo: Die Symbol-QuickInfo verdeutlicht den Namen der interaktiven Symbolschaltfläche und beschreibt ihre Funktion.
Definitions-QuickInfo: Die Definitions-QuickInfo definiert einen vordefinierten Textabschnitt.
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, wo immer möglich, Verben im Präsens und den 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.
Formulieren Sie kurz und bündig. QuickInfo-Erläuterungen sollten so kurz und einfach wie möglich sein.
Begrenzen Sie den Text der QuickInfos auf maximal 2 Zeilen und achten Sie beim Übersetzen darauf, dass der Text nicht länger als 2 Zeilen ist.
QuickInfos, die die Funktion einer nur aus einem Symbol bestehenden Aktionsschaltfläche oder Registerkarte beschreiben, sollten nur 1 oder 2 Wörter enthalten.
Der Haupttext sollte Informationen enthalten, die für den Benutzer für die jeweilige Aufgabe wichtig sind.
Setzen Sie am Ende ganzer Sätze einen Punkt. Verwenden Sie keinen Punkt, wenn der QuickInfo-Text ein kurzer Ausdruck ist.
Schneiden Sie den Text in QuickInfos nicht ab.
Do
Lange Inhalte sind kein „Tipp“ mehr, also fassen Sie sich kurz.
Don't
Verwenden Sie keine großen Textblöcke in QuickInfos.
QuickInfos werden angezeigt, wenn Sie den Mauszeiger darauf bewegen und fokussieren. Sie werden so lange angezeigt, wie der Benutzer den Mauszeiger über das Element bewegt.
Obwohl QuickInfos auch Links und Schaltflächen enthalten können, sollten Sie interaktive Inhalte möglichst nicht in QuickInfos verstecken.
Die Jutro-QuickInfo-Komponente zeigt zusätzliche ergänzende Informationen an, wenn Sie darauf klicken, den Mauszeiger darauf bewegen oder fokussieren. Obwohl es drei Optionen gibt, mit denen eine QuickInfo ausgelöst werden kann, empfehlen wir aus Sicht der Barrierefreiheit, entweder „Klicken“ oder „Fokussieren“ zu verwenden. Der Grund dafür ist, dass die Anzeige von QuickInfos ausschließlich beim Bewegen des Mauszeigers dazu führt, dass die darin enthaltenen Informationen für Benutzer, die nur die Tastatur oder einen Screenreader verwenden, nicht zugänglich sind.
Screenreader-Interaktion: Die QuickInfo-Komponente hat die WAI-ARIA-Rolle „tooltip“ und erbt das aria-live-Attribut automatisch. Der Inhalt der QuickInfo wird somit von Screenreadern vorgelesen.
Tastaturinteraktion: Die QuickInfo wird sichtbar, wenn die QuickInfo auf „Im Fokus anzeigen“ eingestellt ist. Sie wird auch sichtbar, wenn die QuickInfo so eingestellt ist, dass sie bei Klicken angezeigt wird, da das Tastaturereignis programmgesteuert mit dem Klickereignis verknüpft ist.
Das Kontrastverhältnis von Textelementen zu ihrem Hintergrund liegt über 4,5:1.
Nicht-textuelle Inhalte, die eine Bedeutung vermitteln sollen (z. B. Symbole und Fokusanzeigen), weisen ein Kontrastverhältnis von mindestens 3:1 zu den angrenzenden Farben auf.
Das jeweilige Element kann sowohl über eine Tastatur als auch über eine Maus bedient werden.
Der Zugriff auf die Inhalte erfolgt über Screenreader wie JAWS oder VoiceOver.
Die Konformität mit den Richtlinien für Barrierefreiheit hängt letztendlich davon ab, wie diese Komponente implementiert und angepasst wird. Vom Autor des Inhalts vorgenommene Änderungen können sich auf die Barrierefreiheit auswirken. Details zu unserem Modell der geteilten Verantwortung finden Sie in unserer Erklärung zur Barrierefreiheit von Jutro.
Wenn die QuickInfo ausgeblendet/geschlossen wird, müssen Sie sicherstellen, dass der Fokus auf dem Element bleibt, das sie aufgerufen hat.
Prüfen Sie den Farbkontrast zwischen dem Text und dem Hintergrund, wenn Sie dem Element benutzerdefinierte Farben zuweisen.
Note: Einige Konfigurationen der QuickInfo-Komponente sind nicht barrierefrei.
Der Auslöser „Mauseingabe“ ist nur für Mausbenutzer verfügbar. Wenn Sie mit der Tabulatortaste zur Komponente wechseln und dann versuchen, sie auszulösen, wird die QuickInfo nicht angezeigt. Dies bedeutet, dass Benutzer, die auf die Verwendung einer Tastatur angewiesen sind, nicht auf die QuickInfo zugreifen können.
Das Setzen von „Bei Klick ausblenden“ auf false würde die WCAG-2.1-Anforderung „Inhalt beim Schweben oder Fokussieren“ nicht erfüllen, da es nicht möglich ist, die QuickInfo zu entfernen. Die QuickInfo kann Inhalte verdecken, die ein Benutzer lesen muss.
Es gibt zwei verschiedene Komponenten, die die „QuickInfo“-Spezifikationen implementieren. Während die Komponente Tooltip alle Szenarien unterstützen kann, wird die Komponente TooltipIcon nur dann berücksichtigt, wenn die QuickInfos mit einem Symbol verknüpft sind. Beispiele für Anwendungsfälle finden Sie im Abschnitt „Beispiele“.
Tooltip
importReactfrom'react'; import{Tooltip,Button}from'@jutro/components'; exportconstBasicTooltip=()=>{ return( <Tooltipcontent="This is a tooltip"> <Buttonlabel="Move the cursor here"/> </Tooltip> ); };
TooltipIcon
import{TooltipIcon}from'@jutro/components'; importReactfrom'react'; exportconstTooltipIconBasic=()=>{ return<TooltipIcontext="This is a tooltip"/>; };
Vergewissern Sie sich, dass Sie die API-Oberfläche der Design System-Komponenten und die damit verbundenen Auswirkungen und Kompromisse verstehen. Erfahren Sie mehr in unserer Einführung zur Komponenten-API.
Warning: Jede Tooltip-Eigenschaft, die nicht in der folgenden Liste aufgeführt ist, wird als internes Implementierungsdetail betrachtet und unterliegt nicht der Richtlinie für nicht unterbrechende Änderungen.
If set to true, the tooltip disappears if a mousedown event is fired outside of it. If set to false, it is not possible to close the tooltip. If 'toggle' option is used, the tooltip will be closed when clicking on the element again. In all cases, trigger property needs to be set to 'click'.
Note: Es ist erforderlich, dass ein Symbol mit dem gleichen Namen wie das in der icon-Eigenschaft übergebene, aber mit dem Suffix „-outlined“ vorhanden ist, um ein bestimmtes Symbol festzulegen. Ist es nicht vorhanden, wird immer das Standardsymbol angezeigt.
Information from Field Component to link tooltip with related field. This property is not to be used out of the context of the @legacy input components.
Information from Field Component to the Tooltip Icon about the position of the label. This property is not to be used out of the context of the @legacy input components.
Information from Field Component. If set to true, the label is displayed inline. This property is not to be used out of the context of the @legacy input components.
Bekanntes Problem: Untergeordnete Komponente erfordert eine forwardRef
Wenn Ihre Tooltip nicht funktioniert, haben Sie möglicherweise ein bekanntes Problem mit @tippyjs/react. Die untergeordnete Komponente benötigt ein forwardRef, damit QuickInfos funktionieren.
Die Abhilfe für Komponenten, die kein forwardRef haben, besteht darin, sie mit <span> zu umschließen.
import{Badge,Tooltip}from'@jutro/components'; importReactfrom'react'; exportconstTooltipNoRef=()=>{ return( <Tooltip content="This badge does not have a forward ref but it really needs a tooltip" showOnInit > <span> <Badge value={7} type="primary" /> </span> </Tooltip> ); };
Wenn Sie ein nicht fokussierbares Element in eine Tooltip einfügen, erhält das Element die Beschriftung aria-expanded="true". Dies ist fehlerhafte HTML. Um dieses Problem zu vermeiden, stellen Sie sicher, dass Sie nur fokussierbare Elemente innerhalb der Tooltip einfügen.
Eine einfache QuickInfo, die zu einer Button-Komponente hinzugefügt wurde. Die QuickInfo wird angezeigt, wenn der Mauszeiger über die Schaltfläche bewegt wird.
importReactfrom'react'; import{Tooltip,Button}from'@jutro/components'; exportconstBasicTooltip=()=>{ return( <Tooltipcontent="This is a tooltip"> <Buttonlabel="Move the cursor here"/> </Tooltip> ); };
Unterschiedliche Auslöser und Positionen verwenden
Sie können die QuickInfo durch Klicken, Fokussieren oder Mauseingabe auslösen. Die QuickInfo wird je nach placement-Eigenschaft an einer anderen Stelle angezeigt.
import{Button,Tooltip}from'@jutro/components'; importReactfrom'react'; exportconstTooltipPlacementAndTriggers=()=>{ return( <> <Tooltip content="Tooltip displayed on the left" placement="left" trigger="click" > <Button label="Click trigger" style={{margin:'0 1rem 0 0'}} /> </Tooltip> <Tooltip content="Tooltip displayed on the top" placement="top" trigger="click focus" > <Button label="Focus trigger" style={{margin:'0 1rem 0 0'}} /> </Tooltip> <Tooltip content="Tooltip displayed on the right" placement="right" trigger="mouseenter" > <Buttonlabel="Mouse enter trigger"/> </Tooltip> </> ); };
Sie können festlegen, wann die QuickInfo geschlossen wird, nachdem sie durch ein Klickereignis ausgelöst wurde:
Wenn auf andere Bereiche des Bildschirms geklickt wird
Wenn die Komponente erneut angeklickt wird
Nie
import{Button,Tooltip}from'@jutro/components'; importReactfrom'react'; exportconstTooltipHideOnClickOptions=()=>{ return( <divstyle={{display:'flex',gap:'1rem',flexWrap:'wrap'}}> <Tooltip content="Click outside to close" placement="top" trigger="click" > <Buttonlabel="hideOnClick = true"/> </Tooltip> <Tooltip content="Click again on the button to hide" placement="top" hideOnClick="toggle" trigger="click" > <Buttonlabel="hideOnClick = toggle"/> </Tooltip> <Tooltip content="Cannot be closed" placement="top" hideOnClick={false} trigger="click" > <Buttonlabel="hideOnClick = false"/> </Tooltip> </div> ); };
Eine neue Zeile zu einer QuickInfo-Meldung hinzufügen
Es gibt 2 verschiedene Möglichkeiten, wie mehrere Zeilen in einer QuickInfo verwendet werden können:
Option 1: durch Interpolation der Meldung mit einem Zeilenumbruchzeichen.
import{Button,Tooltip}from'@jutro/components'; importReactfrom'react'; exportconstTooltipNewlineInterpolate=()=>{ return( <Tooltip content={{ defaultMessage:'This is a tooltip {br} this is a new line', args:{br:<br/>}, }} placement="top" trigger="click" > <Buttonlabel="Click to open"/> </Tooltip> ); };
Option 2: durch Übergeben eines JSX-Elements als Inhalt.
import{Button,Tooltip}from'@jutro/components'; importReactfrom'react'; exportconstTooltipNewlineJsx=()=>{ return( <Tooltip content={ <p> This is a tooltip <br/> this is a new line </p> } placement="top" trigger="click" > <Buttonlabel="Click to open"/> </Tooltip> ); };