Table
Use a table to make it easier for users to compare and scan information.
Ref | Title | Date |
---|---|---|
ABC1 | Lorem ipsum dolor sit amet | 27/08/2022 |
XYZ2 | Aliquam consectetur posuere nibh dapibus consequat | 25/12/2023 |
When to use
Use tables to let people quickly scan and compare information or for the presentation of complex data sets.
Use the table component to organize data that is too detailed or complicated to be described adequately in text, allowing the reader to see the results quickly.
When not to use
Don't use tables for layout purposes. Use the layout grid to lay out information on a page.
Consider if a table is the best way to present your content. For example, simple tables might be better as a list or series of lists with headings.
Don't use tables instead of a graph to display data visually. Graphs work when you need to show the overall shape of your data. Use graphs instead of tables when:
- The message is contained in the shape of the values (e.g. patterns, trends, exceptions).
- you need to reveal relationships among whole sets of values.
How to use
Table captions
Use the <caption>
element to describe a table in the same way you would use a heading. A caption helps users find, navigate and understand tables.
The advantage of a caption over a heading is that it is read out when a screen reader user encounters the table directly, using the T shortcut key. https://inclusive-components.design/data-tables/
Where there is already a requirement for a heading in the page content, and you want to eliminate repetition and redundancy, you can place the header inside the <caption>
element.
Ref | Title | Date |
---|---|---|
ABC1 | Lorem ipsum dolor sit amet | 27/08/2022 |
XYZ2 | Aliquam consectetur posuere nibh dapibus consequat | 25/12/2023 |
Alignment
Right align numerical data that needs comparing - for example, prices and weights. This allows people to scan larger values more efficiently.
You don't need to right-align data that isn't used for comparison, for example dates.
Table headers should be aligned to the data.

Table headers
Use table headers <th>
to tell users what the rows and columns represent.
Use the scope attribute to help users understand row and column headers.
See WebAIM guidance on table headers for more information.
Accessibility
Follow WebAIM's guidance for tables:
- give tables captions
- use the scope attribute to associate data cells with the appropriate headers.
Contrast
Table dividing lines and zebra striping meet accessibility contrast ratios for Graphical Objects and User Interface Components ( 3:1 ratio).
Research and evidence
No research done on the table component at this time.
Help improve this page
To help make sure that this page is useful, relevant and up to date, you can:
Need help?
If you've got a question about the NICE Design System, contact the team.
- If you work for NICE, ask us a question in our Teams channel
- If you work outside of NICE, you can get in touch with us via Github discussions