--- title: Migrate List to Polaris list components description: >- Learn how to migrate the List component to Polaris web components in checkout and customer account UI extensions. source_url: html: 'https://shopify.dev/docs/apps/build/checkout/migrate-to-web-components/list' md: >- https://shopify.dev/docs/apps/build/checkout/migrate-to-web-components/list.md --- # Migrate List to Polaris list components Polaris list components display related items as ordered or unordered content. They replace the previous [`List`](https://shopify.dev/docs/api/checkout-ui-extensions/2025-07/ui-components/typography-and-content/list) and [`ListItem`](https://shopify.dev/docs/api/checkout-ui-extensions/2025-07/ui-components/typography-and-content/listitem) components and are available as [``](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/ordered-list), [``](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/unordered-list), and [`s-list-item`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/ordered-list#list%20item) in API versions 2025-10 and newer. *** ## Updated properties The following properties are different in Polaris list components. ### marker The previous `List` `marker` prop has been replaced by choosing the appropriate Polaris list component. | Previous pattern | New pattern | Migration notes | | - | - | - | | `` | [``](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/unordered-list) | Use unordered list for bulleted content. | | `` | [``](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/ordered-list) | Use ordered list for numbered content. | | `` | Use [`s-stack`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/layout-and-structure/stack) with [`accessibilityRole`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/layout-and-structure/stack#properties-propertydetail-accessibilityrole) | Use semantic roles when you need list structure without built-in markers. | ## Migrating marker to Polaris list components ##### Latest (Preact) ```jsx import '@shopify/ui-extensions/preact'; import {render} from 'preact'; export default function extension() { render(, document.body); } function Extension() { return ( Free shipping on orders over $50 30-day return policy Secure checkout ); } ``` ##### Pre-Polaris (2025-07) ```jsx import { reactExtension, List, ListItem, } from '@shopify/ui-extensions-react/checkout'; export default reactExtension( 'purchase.checkout.block.render', () => , ); function Extension() { return ( Free shipping on orders over $50 30-day return policy Secure checkout ); } ``` If you previously used `marker="none"`, use [`s-stack`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/layout-and-structure/stack) with [`accessibilityRole`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/layout-and-structure/stack#properties-propertydetail-accessibilityrole) to preserve list semantics without built-in bullets or numbers. Set the stack role to `ordered-list` or `unordered-list`, and use [`s-list-item`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/web-components/typography-and-content/ordered-list#list%20item) children. ## Migrating marker=none ##### Latest (Preact) ```jsx import '@shopify/ui-extensions/preact'; import {render} from 'preact'; export default function extension() { render(, document.body); } function Extension() { return ( Product features Specifications ); } ``` ##### Pre-Polaris (2025-07) ```jsx import { reactExtension, List, ListItem, } from '@shopify/ui-extensions-react/checkout'; export default reactExtension( 'purchase.checkout.block.render', () => , ); function Extension() { return ( Product features Specifications ); } ``` *** ## Removed properties ### spacing Polaris list components no longer support `spacing`. Lists now use built-in spacing between items that you can't customize. ### accessibility​Label Polaris list components no longer support `accessibilityLabel` directly. Instead, provide enough context in surrounding content so customers understand what the list contains. ***