Autocomplete
The Autocomplete is a text field enhanced by a panel of suggested options. The value must be chosen from a predefined set of allowed values.
Namn | Typ | Beskrivning |
---|---|---|
ariaLabel | string | |
autoSelectionValue | string | |
customAttribute | { attribute: string; value: string |
number } | Used for tests. Clickable and requested subcomponents will be suffixed with "-[ComponentName]". |
description | string | |
disabled | boolean | If true, the component is disabled. |
drawerIsOpen | boolean | |
endIcon | Element | |
freeSolo | boolean | |
hasError | boolean | |
helperText | string | |
hideClearButton | boolean | |
highlightMatch | boolean | |
id * | string | |
inputRef | RefObject | |
isExpanded | boolean | |
label | string | The label text. |
lang * | "sv" |
"en" |
"no" | |
name | string | |
onArrowNavigation | (value: SelectedItemProps) => void | Callback fired when navigating results with arrow keys |
onBlur | (event: FocusEvent) => void | Callback fired when focus leaves the input field |
onCancelClickHandler | () => void | |
onChange * | (item: SelectedItemProps) => void | |
onClick | () => void | |
onClose | (item: SelectedItemProps) => void | |
onCloseDrawer | () => void | |
onFocus | () => void | |
onSelect | (item: SelectedItemProps) => void | |
options * | SelectedItemProps[] | |
overrideDefaultOnSelectBehavior | boolean | When true the components internal onSelect is overridden which otherwise runs alongside the passed in function |
placeholder * | string | |
popularValues | string[] | |
prepopulationLists | PrepopulationList[] | |
resultHeight | number | |
scrollOffset | number | |
shouldAlwaysUseSheet | boolean | When true the component intially consists of a textfieldbutton opening the autocomplete within a sheet |
shouldKeepSearchQuery | boolean | When true the input field will keep the user defined value and not display the currently selected option |
startIcon | Element | |
titleComponent * | "h2" |
"h3" |
"h4" |
"h1" |
"h5" |
"h6" | |
translations * | AutocompleteTranslation | |
useInlineSwapIcon | boolean | |
value * | string |
npm install @sj-ab/component-library.ui.autocomplete
Elevation
Adaptive design
Tillgänglighetsproblem med MaterialUI Autocomplete
Vi har byggt Autocomplete-komponenten från grunden istället för att använda MaterialUI:s Autocomplete. Anledningen är att MUI-komponenten inte fungerar korrekt med skärmläsaren VoiceOver på iOS och riskerar att helt stänga ute gravt synskadade användare med iPhone. [Vi rapporterade buggen 2019 till MaterialUI](https://github.com/mui-org/material-ui/issues/22956) men den är fortfarande inte löst.
WAI-ARIA
Autocomplete strävar efter att följa designmönstren
från WAI-ARIA Authoring Practices Guide.
Station Picker använder bland annat:
role="combobox"
för att indikera att textfältet har valbara förslagrole="listbox"
för panelen med förslagrole="option"
för varje sökförslagrole="group"
för att gruppera relaterade förslagaria-describedby
för att ge ytterligare instruktioner till skärmläsarearia-autocomplete="list"
för att indikera vilken typ av förslag som erbjudsaria-expanded
för att indikera om förslagen är synliga eller intearia-activedescendant
för att hålla koll på vilket förslag som har skärmläsarfokus.
Importer av Autocomplete
Repos med Autocomplete
Senaste installerade version av Autocomplete
Äldsta installerade version av Autocomplete