Tooltip
- Muut käyttöliittymäelementit
- Sijoittelu
- Viiveiden määrittäminen
- Manuaalinen käynnistäminen
- Markdown
- Saavutettavuus
- Parhaat käytännöt
- Liittyvät komponentit
Tooltipit ovat pieniä ponnahdusikkunoita, jotka tarjoavat lisätietoa muista käyttöliittymäelementeistä. Elementin tooltip tulee näkyviin, kun käyttäjä vie hiiren osoittimen elementin päälle tai kun elementti saa näppäimistön fokuksen.
Tooltipit tukevat vain pelkkää tekstiä. Ne eivät ole fokusoitavissa, eivätkä ne voi sisältää interaktiivisia elementtejä.
Muut käyttöliittymäelementit
Tooltip voidaan näyttää käyttöliittymäelementeille, joilta puuttuu oma tooltip-API. Näiden saavutettavuutta ei kuitenkaan voida taata.
Sijoittelu
Tooltipin oletussijoittelu suhteessa kohde-elementtiin voidaan ohittaa. Tämä voi olla hyödyllistä, jotta tooltip sijoitetaan optimaalisesti eikä peitä muita tärkeitä käyttöliittymäelementtejä, tai pelkästään esteettisistä syistä.
Tooltipin ja kohde-elementin välistä etäisyyttä voidaan myös mukauttaa asettamalla seuraavat CSS-ominaisuudet tooltipille:
-
--vaadin-tooltip-offset-top -
--vaadin-tooltip-offset-bottom -
--vaadin-tooltip-offset-start -
--vaadin-tooltip-offset-end
Viiveiden määrittäminen
Tooltipien ilmestymisviive voidaan määrittää erikseen hiiren päälläolon ja näppäimistöfokuksen osalta. Tooltipin katoamisviive – kun osoitin poistuu kohde-elementistä – voidaan myös määrittää erikseen. Kun elementti menettää fokuksen, tooltip suljetaan kuitenkin välittömästi, jotta toiseen elementtiin siirtyminen ei aiheuta hämmennystä.
Source code
Java
import com.vaadin.flow.component.shared.TooltipConfiguration;
// Yleinen viiveasetusten määrittely:
TooltipConfiguration.setDefaultFocusDelay(2000);
TooltipConfiguration.setDefaultHoverDelay(1000);
TooltipConfiguration.setDefaultHideDelay(1000);
// Ylikirjoitetaan tietyn komponentin tooltipin viiveet:
button.setTooltipText("Home").withHoverDelay(500);Java
tsx
tsx
TypeScript
TypeScript
Manuaalinen käynnistäminen
Tooltipit voidaan määrittää niin, etteivät ne ilmesty automaattisesti hiiren päälläolon tai näppäimistöfokuksen yhteydessä, vaan ne käynnistetään ohjelmallisesti. Näin voidaan toteuttaa niin sanottuja toggletip-toimintoja – tooltippeja, jotka käyttäjä voi näyttää ja piilottaa manuaalisesti.
Markdown
Tooltip voidaan määrittää renderöimään tekstisisältönsä Markdown-muodossa. Tämän ansiosta voidaan käyttää yksinkertaista muotoilua, kuten lihavointia tai kursivointia. Oletuksena tämä ominaisuus ei ole aktiivinen, ja tooltipin sisältö näytetään pelkkänä tekstinä.
Source code
Java
// Komponenteille, jotka toteuttavat HasTooltip:
button.setTooltipMarkdown("**Bold** _Italic_ `Code`");
// Muille komponenteille:
Tooltip.forComponent(header).setMarkdown("**Bold** _Italic_ `Code`");Java
tsx
tsx
HTML
HTML
|
Note
|
Markdownin käyttöä ei suositella, jos tooltipin sisällön saavutettavuus on olennaista, sillä renderöidyn HTML-sisällön semantiikkaa (otsikot, listat, …) ei välitetä avustaville teknologioille. Samoin interaktiivinen sisältö, kuten linkit, ei välttämättä ole saavutettavaa. Monimutkaisempaa tai interaktiivista sisältöä varten kannattaa käyttää mieluummin Popover-komponenttia. |
Saavutettavuus
Tooltipit liitetään semanttisesti kohde-elementteihinsä linkin aria-describedby-attribuutin avulla, ja ruudunlukijat ilmoittavat niistä, kun elementti saa näppäimistöfokuksen.
Tooltipien oikeaa ilmoittamista ei kuitenkaan voida taata elementeillä, joilla ei ole omaa tooltip-API:a. Tämä johtuu siitä, että aria-describedby-attribuuttien ilmoittaminen riippuu HTML-elementin tyypistä ja role-attribuutista. Lisäksi se vaihtelee eri ruudunlukijoiden välillä. Ruudunlukijoilla testaaminen on hyödyllistä, jotta voidaan varmistaa tooltipien saavutettavuus näissä tapauksissa.
Tooltip-ominaisuus ei tällä hetkellä tue pitkää painallusta kosketusnäytöllisillä laitteilla.
Huomaa, että Vaadin-komponentit ja muut käyttöliittymäelementit eivät oletuksena viittaa tooltipien olemassaoloon millään tavalla. Tämä voi tehdä niiden löytämisestä vaikeaa käyttäjille.
Yleisesti ottaen näkyvät nimilaput ovat aina parempi vaihtoehto kuin tooltipit. Erikseen määritelty näkymätön linkin aria-label-attribuutti tarjoaa yleensä paremman saavutettavuuden kuin tooltip.
Parhaat käytännöt
Tooltippeja tulisi käyttää vain lisätiedon tarjoamiseen, ei kriittisen tiedon välittämiseen. Ne eivät korvaa syötekenttien näkyviä nimilappuja.
Syötekenttäkomponenteissa tooltipit tulisi ottaa käyttöön vasta viimeisenä keinona, jos tarvittavaa tietoa ei voida antaa nimilapussa, helperissa tai paikkamerkkitekstissä.