@patternfly/patternfly
Version:
Assets, source, tooling, and content for PatternFly 4
1,341 lines (1,304 loc) • 109 kB
Markdown
---
id: Data list
section: components
cssPrefix: pf-v5-c-data-list
---## Examples
### Basic
```html
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="Basic data list example"
id="data-list-basic"
>
<li class="pf-v5-c-data-list__item" aria-labelledby="data-list-basic-item-1">
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<span id="data-list-basic-item-1">Primary content</span>
</div>
<div class="pf-v5-c-data-list__cell">Secondary content</div>
</div>
</div>
</li>
<li class="pf-v5-c-data-list__item" aria-labelledby="data-list-basic-item-2">
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-no-fill">
<span id="data-list-basic-item-2">Secondary content (pf-m-no-fill)</span>
</div>
<div
class="pf-v5-c-data-list__cell pf-m-no-fill pf-m-align-right"
>Secondary content (pf-m-align-right pf-m-no-fill)</div>
</div>
</div>
</li>
</ul>
```
### Accessibility
| Attribute | Applied to | Outcome |
| -- | -- | -- |
| `role="list"` | `.pf-v5-c-data-list` | Indicates that the data list is a list. **Required** |
| `aria-label` | `.pf-v5-c-data-list` | Provides an accessible name for the data list. **Required** |
| `aria-labelledby` | `.pf-v5-c-data-list__item` | Provides an accessible description for data list item. **Required** |
| `id` | `.pf-v5-c-data-list__cell`, `.pf-v5-c-data-list__cell *` | Provides a reference for data list item description. **Required** |
### Usage
| Class | Applied to | Outcome |
| -- | -- | -- |
| `.pf-v5-c-data-list` | `<ul>` | Initiates a data list. **Required** |
| `.pf-v5-c-data-list__item` | `<li>` | Initiates a data list item. **Required** |
| `.pf-v5-c-data-list__item-row` | `<div>` | Initiates a data list item row. **Required** |
| `.pf-v5-c-data-list__item-content` | `<div>` | Initiates a container for data list content. **Required**|
| `.pf-v5-c-data-list__cell` | `*` | Initiates a data list content cell. **Required** |
| `.pf-v5-c-data-list__cell-text` | `<span>` | Initiates a data list content cell text element. |
| `.pf-m-align-left` | `.pf-v5-c-data-list__cell` | Modifies a data list cell to not grow and align-left when its the first data-list\_\_cell element. |
| `.pf-m-no-fill` | `.pf-v5-c-data-list__cell` | Modifies a data list cell to not fill the available horizontal space. |
| `.pf-m-align-right` | `.pf-v5-c-data-list__cell` | Modifies a data list cell to align-right. |
### With headings
```html
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="With headings data list example"
id="data-list-with-headings"
>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-with-headings-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<h2 id="data-list-with-headings-item-1">Primary content</h2>
</div>
<div class="pf-v5-c-data-list__cell">Secondary content</div>
</div>
</div>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-with-headings-item-2"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-no-fill">
<h2
id="data-list-with-headings-item-2"
>Secondary content (pf-m-no-fill)</h2>
</div>
<div
class="pf-v5-c-data-list__cell pf-m-no-fill pf-m-align-right"
>Secondary content (pf-m-align-right pf-m-no-fill)</div>
</div>
</div>
</li>
</ul>
```
### Usage
When a list item includes more than one block of content, it can be difficult for some screen reader users to discern where one list item ends and the next one begins. A simple way to provide better separation of list items is to define the primary content section as a heading. Headings are useful for indicating a new section of contents, but also provide an easy way for screen reader users to navigate to specific sections on the page. The heading level should be based on the context in which the DataList component is being used. For example, if the heading for the section that contains the DataList is a level 3, then `h4` elements should be used in the DataList list items.
### Checkboxes, actions, and additional cells
```html
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="Checkbox and action data list example"
id="data-list-checkboxes-actions-addl-cells"
>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__check">
<div class="pf-v5-c-check pf-m-standalone">
<input
class="pf-v5-c-check__input"
type="checkbox"
name="data-list-checkboxes-actions-addl-cells-item-1-checkbox"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-1"
/>
</div>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<span
id="data-list-checkboxes-actions-addl-cells-item-1"
>Primary content</span> Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
<div
class="pf-v5-c-data-list__cell"
>Secondary content. Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.</div>
<div class="pf-v5-c-data-list__cell">
<span>Tertiary Content</span> Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
<div class="pf-v5-c-data-list__cell">
<span>More Content</span> Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
<div class="pf-v5-c-data-list__cell">
<span>More Content</span> Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-checkboxes-actions-addl-cells-item-1-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-1-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-2"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__check">
<div class="pf-v5-c-check pf-m-standalone">
<input
class="pf-v5-c-check__input"
type="checkbox"
name="data-list-checkboxes-actions-addl-cells-item-2-checkbox"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-2"
/>
</div>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<span
id="data-list-checkboxes-actions-addl-cells-item-2"
>Primary content - lorem ipsum</span> dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
<div
class="pf-v5-c-data-list__cell"
>Secondary content. Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.</div>
</div>
<div class="pf-v5-c-data-list__item-action pf-m-hidden-on-lg">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-checkboxes-actions-addl-cells-item-2-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-2-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
<div
class="pf-v5-c-data-list__item-action pf-m-hidden pf-m-visible-on-lg"
>
<button class="pf-v5-c-button pf-m-primary" type="button">Primary</button>
<button class="pf-v5-c-button pf-m-secondary" type="button">Secondary</button>
</div>
</div>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-3"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__check">
<div class="pf-v5-c-check pf-m-standalone">
<input
class="pf-v5-c-check__input"
type="checkbox"
name="data-list-checkboxes-actions-addl-cells-item-3-checkbox"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-3"
/>
</div>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<span
id="data-list-checkboxes-actions-addl-cells-item-3"
>Primary content - lorem ipsum</span> dolor sit amet, consectetur adipisicing elit, sed do eiusmod.
</div>
<div
class="pf-v5-c-data-list__cell"
>Secondary content. Dolor sit amet, consectetur adipisicing elit, sed do eiusmod.</div>
</div>
<div class="pf-v5-c-data-list__item-action pf-m-hidden-on-lg">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-checkboxes-actions-addl-cells-item-3-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-checkboxes-actions-addl-cells-item-3-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
<div
class="pf-v5-c-data-list__item-action pf-m-hidden pf-m-visible-on-xl"
>
<button class="pf-v5-c-button pf-m-primary" type="button">Primary</button>
<button class="pf-v5-c-button pf-m-secondary" type="button">Secondary</button>
<button class="pf-v5-c-button pf-m-secondary" type="button">Secondary</button>
<button class="pf-v5-c-button pf-m-secondary" type="button">Secondary</button>
</div>
</div>
</li>
</ul>
```
### Accessibility
| Attribute | Applied to | Outcome |
| -- | -- | -- |
| `aria-label="[descriptive text]"` | `.pf-v5-c-data-list__action` > `.pf-v5-c-button` | Provides an accessible label buttons. **Required** |
| `aria-labelledby="{title_cell_id}"` | `.pf-v5-c-data-list__check` > `.pf-v5-c-check__input` | Creates an accessible label for the checkbox based on the title cell. **Required** |
| `aria-labelledby="{title_cell_id} {data_list_action_id}"` | `.pf-v5-c-data-list__action` > `.pf-v5-c-button` | Creates an accessible label for the action button using the title cell and button label **Required** |
| `id` | `.pf-v5-c-data-list__cell > *`, `.pf-v5-c-data-list__check` > `.pf-v5-c-check__input`, `.pf-v5-c-data-list__action` > `.pf-v5-c-button` | Provides a reference for interactive elements. **Required** |
### Usage
| Class | Applied to | Outcome |
| -- | -- | -- |
| `.pf-v5-c-data-list__item-control` | `<div>` | Initiates a container for data list controls. For example, add `.pf-v5-c-data-list__check` here. **Required** |
| `.pf-v5-c-data-list__item-action` | `<div>` | Initiates a container for the data list actions. For example, add `.pf-v5-c-data-list__action` here. **Required** |
| `.pf-v5-c-data-list__check` | `<div>` | Initiates a data list check cell. **Required** |
| `.pf-v5-c-data-list__action` | `<div>` | Initiates a data list action button cell. **Required** |
| `.pf-m-hidden{-on-[breakpoint]}` | `.pf-v5-c-data-list__item-action` | Hides an actions container at optional [breakpoint](/developer-resources/global-css-variables#breakpoint-variables-and-class-suffixes), or hides it at all breakpoints with `.pf-m-hidden`. |
| `.pf-m-visible{-on-[breakpoint]}` | `.pf-v5-c-data-list__item-action` | Shows an actions container at optional [breakpoint](/developer-resources/global-css-variables#breakpoint-variables-and-class-suffixes). |
### Expandable
```html
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="Expandable data list example"
id="data-list-expandable"
>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-toggle1 data-list-expandable-item1"
id="data-list-expandable-toggle1"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-content1"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<span id="data-list-expandable-item-1">Primary content</span>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
<a href="#">link</a>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-item-1-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-item-1-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-content1"
aria-label="Expandable primary content details"
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-expandable-item-2"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-toggle2 data-list-expandable-item2"
id="data-list-expandable-toggle2"
aria-label="Toggle details for"
aria-expanded="false"
aria-controls="data-list-expandable-content2"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<div id="data-list-expandable-item-2">Secondary content</div>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-item-2-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-item-2-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-content2"
aria-label="Expandable secondary content details"
hidden
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-item-3"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-toggle3 data-list-expandable-item3"
id="data-list-expandable-toggle3"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-content3"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<div id="data-list-expandable-item-3">Tertiary content</div>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-item-3-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-item-3-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-content3"
aria-label="Expandable tertiary content details"
>
<div
class="pf-v5-c-data-list__expandable-content-body pf-m-no-padding"
>This expanded section has no padding.</div>
</section>
</li>
</ul>
```
### Expandable compact
```html
<ul
class="pf-v5-c-data-list pf-m-compact"
role="list"
aria-label="Expandable data list example"
id="data-list-expandable-compact"
>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-compact-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-compact-toggle1 data-list-expandable-compact-item1"
id="data-list-expandable-compact-toggle1"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-compact-content1"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<div id="data-list-expandable-compact-item-1">Primary content</div>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
<a href="#">link</a>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-compact-item-1-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-compact-item-1-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-compact-content1"
aria-label="Expandable compact primary content details"
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-expandable-compact-item-2"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-compact-toggle2 data-list-expandable-compact-item2"
id="data-list-expandable-compact-toggle2"
aria-label="Toggle details for"
aria-expanded="false"
aria-controls="data-list-expandable-compact-content2"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<span id="data-list-expandable-compact-item-2">Secondary content</span>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-compact-item-2-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-compact-item-2-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-compact-content2"
aria-label="Expandable compact secondary content details"
hidden
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-compact-item-3"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-compact-toggle3 data-list-expandable-compact-item3"
id="data-list-expandable-compact-toggle3"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-compact-content3"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<span id="data-list-expandable-compact-item-3">Tertiary content</span>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-compact-item-3-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-compact-item-3-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-compact-content3"
aria-label="Expandable compact tertiary content details"
>
<div
class="pf-v5-c-data-list__expandable-content-body pf-m-no-padding"
>This expanded section has no padding.</div>
</section>
</li>
</ul>
```
### Expandable nested
```html
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="Expandable nested data list example"
id="data-list-expandable-nested"
>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-nested-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-nested-toggle1 data-list-expandable-nested-item1"
id="data-list-expandable-nested-toggle1"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-nested-content1"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell pf-m-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</div>
<div class="pf-v5-c-data-list__cell">
<span id="data-list-expandable-nested-item-1">Primary content</span>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
<a href="#">link</a>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
<div class="pf-v5-c-data-list__cell">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
</div>
<div class="pf-v5-c-data-list__item-action">
<div class="pf-v5-c-data-list__action">
<div class="pf-v5-c-dropdown">
<button
class="pf-v5-c-dropdown__toggle pf-m-plain"
id="data-list-expandable-nested-item-1-dropdown-kebab-button"
aria-expanded="false"
type="button"
aria-label="Actions"
>
<i class="fas fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul
class="pf-v5-c-dropdown__menu pf-m-align-right"
aria-labelledby="data-list-expandable-nested-item-1-dropdown-kebab-button"
hidden
role="menu"
>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
>Action</button>
</li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item pf-m-disabled"
role="menuitem"
href="#"
aria-disabled="true"
tabindex="-1"
>Disabled link</a>
</li>
<li role="none">
<button
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
type="button"
disabled
>Disabled action</button>
</li>
<li class="pf-v5-c-divider" role="separator"></li>
<li role="none">
<a
class="pf-v5-c-dropdown__menu-item"
role="menuitem"
href="#"
>Separated link</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-nested-content1"
aria-label="Expandable nested primary content details"
>
<div class="pf-v5-c-data-list__expandable-content-body">
<ul
class="pf-v5-c-data-list"
role="list"
aria-label="Expandable nested nested data list example"
id="data-list-expandable-nested-nested"
>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-nested-nested-item-1"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-nested-nested-toggle1 data-list-expandable-nested-nested-item1"
id="data-list-expandable-nested-nested-toggle1"
aria-label="Toggle details for"
aria-expanded="true"
aria-controls="data-list-expandable-nested-nested-content1"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<span
id="data-list-expandable-nested-nested-item-1"
>Nested row 1</span>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-nested-nested-content1"
aria-label="Nested row 1 details"
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Nested row 1 expanded content.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item"
aria-labelledby="data-list-expandable-nested-nested-item-2"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-nested-nested-toggle2 data-list-expandable-nested-nested-item2"
id="data-list-expandable-nested-nested-toggle2"
aria-label="Toggle details for"
aria-expanded="false"
aria-controls="data-list-expandable-nested-nested-content2"
>
<div class="pf-v5-c-data-list__toggle-icon">
<i class="fas fa-angle-right" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="pf-v5-c-data-list__item-content">
<div class="pf-v5-c-data-list__cell">
<div
id="data-list-expandable-nested-nested-item-2"
>Nested row 2</div>
</div>
</div>
</div>
<section
class="pf-v5-c-data-list__expandable-content"
id="data-list-expandable-nested-nested-content2"
aria-label="Nested row 2 details"
hidden
>
<div
class="pf-v5-c-data-list__expandable-content-body"
>Nested row 2 expanded content.</div>
</section>
</li>
<li
class="pf-v5-c-data-list__item pf-m-expanded"
aria-labelledby="data-list-expandable-nested-nested-item-3"
>
<div class="pf-v5-c-data-list__item-row">
<div class="pf-v5-c-data-list__item-control">
<div class="pf-v5-c-data-list__toggle">
<button
class="pf-v5-c-button pf-m-plain"
type="button"
aria-labelledby="data-list-expandable-ne