Intro
Tabeller brukes til å organisere og vise data på en strukturert måte. De kan være enkle med få rader og kolonner, men de kan også være innholdsrike med interaktive komponenter som lenker, knapper, avkryssingsbokser og nedtrekkslister.
Eksempler
Standardstørrelsen 'medium' brukes både på eksterne og interne flater.
Small brukes på interne flater der det er behov for et mer komprimert grensesnitt.
Rader kan utvides for å vise ekstra informasjon. Man kan velge om knappen for å utvide/lukke vises i starten eller enden av raden.
Retningslinjer
Justering av innhold
Alt bør være venstrejustert, unntatt tall, som bør høyrejusteres for å gjøre det enklere å sammenligne tallene.
Meny
Vurder å bruke meny som plassbesparende tiltak. De egner seg om det er flere handlinger i en tabellrad som ikke er viktig å ha fremme hele tiden.
Overskriftceller
Bruk <th> og ikke <td> i alle overskriftceller. En celle er en overskrift hvis den beskriver innholdet i cellene under eller ved siden av.
I Aksel-APIet betyr det at du som regel skal bruke <Table.HeaderCell> i stedet for <Table.DataCell> i første rad og kolonne.
Se kodeeksemplene.
Tilgjengelighet
Ulike skjermlesere håndterer tabeller litt forskjellig, men felles er at bare en liten del av tabellen kan presenteres av gangen: ofte bare én celle. Det er en fordel at tabellceller ikke slås sammen, og at cellene ikke inneholder mer enn ett interaktivt element. Det er viktig å bruke rad- og kolonneoverskrifter (th-tag). Unntaket er kolonner som kun inneholder interaktive elementer, som skal ha label. (Se eksempel "Selectable".)
Jaws med standardinnstillinger, som er ganske tilsvarende andre skjermlesere, fungerer slik:
Du bør lære deg tastene for å navigere i tabeller hvis du skal teste. De enkleste kommandoene er:
Spesielt Jaws har veldig mange innstillinger for tabeller. Skal du sikre at du tester på riktig måte kan det være nødvendig å kjenne til innstillingene i de ulike skjermleserne.
Props
Table
size?
- Type:
"medium" | "small" | "large"
- Default:"medium"
- Description:
zebraStripes?
- Type:
boolean
- Default:false
- Description:
sort?
- Type:
SortState
- Description:
onSortChange?
- Type:
((sortKey: string) => void)
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableElement>
- Description:
Table.Body
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableSectionElement>
- Description:
Table.ColumnHeader
sortKey?
- Type:
string
- Description:
sortable?
- Type:
boolean
- Default:false
- Description:
scope?
- Type:
string
align?
- Type:
"left" | "center" | "right"
- Default:"left"
- Description:
textSize?
- Type:
"medium" | "small"
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableCellElement>
- Description:
Table.Header
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableSectionElement>
- Description:
Table.Row
selected?
- Type:
boolean
- Default:false
- Description:
shadeOnHover?
- Type:
boolean
- Default:true
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableRowElement>
- Description:
Table.DataCell
align?
- Type:
"left" | "center" | "right"
- Default:"left"
- Description:
textSize?
- Type:
"medium" | "small"
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableCellElement>
- Description:
Table.HeaderCell
scope?
- Type:
string
align?
- Type:
"left" | "center" | "right"
- Default:"left"
- Description:
textSize?
- Type:
"medium" | "small"
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableCellElement>
- Description:
Table.ExpandableRow
content
- Type:
ReactNode
- Description:
togglePlacement?
- Type:
"left" | "right"
- Default:left
- Description:
open?
- Type:
boolean
- Description:
defaultOpen?
- Type:
boolean
- Default:false
- Description:
onOpenChange?
- Type:
((open: boolean) => void)
- Description:
expansionDisabled?
- Type:
boolean
- Default:false
- Description:
expandOnRowClick?
- Type:
boolean
- Default:false
- Description:
colSpan?
- Type:
number
- Default:999
- Description:
selected?
- Type:
boolean
- Default:false
- Description:
shadeOnHover?
- Type:
boolean
- Default:true
- Description:
className?
- Type:
string
ref?
- Type:
LegacyRef<HTMLTableRowElement>
- Description: