---
title: Heading
description: >-
The heading component renders hierarchical titles to communicate the structure
and organization of page content. Use heading to create section titles and
content headers that help users understand information hierarchy and navigate
content.
api_version: 2026-04
api_name: customer-account-ui-extensions
source_url:
html: >-
https://shopify.dev/docs/api/customer-account-ui-extensions/latest/web-components/typography-and-content/heading
md: >-
https://shopify.dev/docs/api/customer-account-ui-extensions/latest/web-components/typography-and-content/heading.md
---
# Heading
The heading component renders hierarchical titles to communicate the structure and organization of page content. Use heading to create section titles and content headers that help users understand information hierarchy and navigate content.
Heading levels adjust automatically based on nesting within parent [section](https://shopify.dev/docs/api/customer-account-ui-extensions/latest/web-components/layout-and-structure/section) components, ensuring meaningful and accessible page outlines without manual level management.
Heading levels (h2, h3, h4) are determined automatically by nesting depth within `s-section` components — you can't set a specific heading level directly.
### Support Targets (24)
### Supported targets
* [customer-account.footer.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/footer#footer-render-after-)
* [customer-account.order-index.announcement.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-actions#order-index-announcement-)
* [customer-account.order-index.block.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-actions#order-index-block-)
* [customer-account.order-status.announcement.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-status#order-status-announcement-)
* [customer-account.order-status.block.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-status#order-status-block-)
* [customer-account.order-status.cart-line-item.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-status#cart-line-item-render-after-)
* [customer-account.order-status.cart-line-list.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-status#cart-line-list-render-after-)
* [customer-account.order-status.customer-information.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-status#customer-information-render-after-)
* [customer-account.order-status.fulfillment-details.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/fulfillment-status#fulfillment-status-targets)
* [customer-account.order-status.payment-details.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/payments-and-returns#payments-and-returns-targets)
* [customer-account.order-status.return-details.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/payments-and-returns#return-details-render-after-)
* [customer-account.order-status.unfulfilled-items.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/fulfillment-status#unfulfilled-items-render-after-)
* [customer-account.order.action.menu-item.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-actions#order-action-menu-item-)
* [customer-account.order.action.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/order-actions#order-action-)
* [customer-account.order.page.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/full-page#order-specific-full-page-)
* [customer-account.page.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/full-page#customer-account-full-page-)
* [customer-account.profile.addresses.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-default#profile-page-default-targets-)
* [customer-account.profile.announcement.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-default#profile-announcement-)
* [customer-account.profile.block.render](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-default#profile-block-)
* [customer-account.profile.company-details.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-b2b#profile-page-b2b-targets-)
* [customer-account.profile.company-location-addresses.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-b2b#company-location-addresses-render-after-)
* [customer-account.profile.company-location-payment.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-b2b#company-location-payment-render-after-)
* [customer-account.profile.company-location-staff.render-after](https://shopify.dev/docs/api/customer-account-ui-extensions/2026-04/targets/profile-page-b2b#company-location-staff-render-after-)
* customer-account.profile.payment.render-after
#### Use cases
* **Section titles**: Label account sections like "Contact," "Shipping," or "Payment" for clear navigation.
* **Subsection headers**: Break long content areas into scannable groups with secondary headings.
* **Custom layouts**: Render standalone headings when the default `s-section` heading property doesn't fit your design.
***
## Properties
Configure the following properties on the heading component.
* **accessibilityRole**
**'heading' | 'none' | 'presentation'**
**Default: 'heading'**
The semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.
* `presentation`: Removes semantic meaning, making the element purely decorative and ignored by screen readers.
* `none`: Completely hides the element and its content from assistive technologies.
* **id**
**string**
A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.
***
## Examples
### Add a basic heading
Create a heading for a content section. This example shows the basic heading component with default styling.
## Add a basic heading

## html
```html
Contact
```
### Set an accessibility role
Control how assistive technologies interpret the heading. This example sets `accessibilityRole="presentation"` to render the heading as a visual title without adding it to the document outline.
## html
```html
Order summary
```
### Create a heading hierarchy with nested sections
Nest headings inside section components to automatically assign appropriate heading levels (h2, h3, h4). This example shows how the heading level increments with each nested section, creating proper document structure for screen readers.
## html
```html
Order information
Shipping details
Tracking updates
```
***
## Best practices
* **Keep headings short**: Use concise, scannable titles so customers can quickly orient themselves in the customer account.
* **Prefer section headings**: Default to the `heading` property on `s-section` and only use `s-heading` when you need a custom layout.
* **Write clear, descriptive headings**: Headings should clearly describe the section they introduce. Avoid vague headings like "Details" when "Order details" or "Profile settings" would be clearer.
***