Layouts are common page composition patterns that offer ways of structuring components and content.
There are then 3 standard page layouts that can be used to enclose your grid:
A nsw-container keeps a container width of 1200px and the nsw-page-layout acts as a wrapper to align the content's spacing.
Displays main content area the full width of the container.
Displays a left hand sidebar that is visible on 992px+ viewports, with a main content area that is always visible. (Recommended for side navigation).
Displays a right hand sidebar that stacks on 0 - 991px viewports, with main content area that is always visible.
Alternating image-and-text layouts can help people scan long pages. In the NSW Design System, this is done by changing the visual order only, while keeping the HTML order logical and consistent.
Screen readers and keyboard focus follow the DOM, not the visual layout. If visual and DOM order diverge, users may hear or tab through content in a sequence that does not match what they see. This relates directly to WCAG 2.2:
To avoid this, alternating layouts must always start with the correct reading order in the HTML (the DOM order for assistive technology).
Do not use tabindex to force focus order to match a visual swap. This creates a separate focus sequence that is difficult to maintain and often causes accessibility issues.
Once the DOM order is correct, apply order utilities at a breakpoint (for example nsw-order-lg-first and nsw-order-lg-last) as a visual enhancement only.
There are 2 order options: prefer first/last utilities for alternating layouts, and only use numeric order when the DOM cannot be changed. See Flex order utilities for details.
Note: nsw-row is a grid row and already uses display: flex (like nsw-display-flex). Its direct child nsw-col elements are flex items, so order utilities apply to the columns.
order with careOrder utilities only change the visual order. Screen readers and keyboard focus follow the DOM order, so changing the visual order can misalign what people see, hear, and tab through. Do not use order (or other layout-only CSS) to rearrange functional content like forms, navigation, or controls. Trying to fix this with the tabindex attribute creates a separate focus sequence that can diverge from the DOM and is hard to maintain.
It is only suitable when items communicate the same, non-functional message such as an image and its accompanying text. Always keep the HTML order logical and meaningful for reading and focus, then apply nsw-order-* classes only as a visual enhancement where this does not change the intended sequence. Preserving a meaningful DOM order is key to meeting the intent of WCAG 2.2 SC 1.3.2 Meaningful Sequence and 2.4.3 Focus Order.
The global page structure provides page-level regions that sit outside in-content layout patterns. Use it for persistent, site-wide controls like the Sticky container, mastheads and footers. These regions form the shell of a page and are not composition patterns.
A site-wide container fixed to the bottom of the viewport for critical controls such as Quick Exit and Cookie Consent. It is part of the page shell, not an in-content component.
Place the Sticky container as the last child of <body>. Render baseline markup inside it so pages work without JavaScript.
The Sticky container styling is included with Core so it is available on every page.
<body>.overflow or transform. These can break sticky positioning.overflow or transform. Keep the container as a direct child of <body>.Is this a Layout pattern? No. Layout covers composition patterns inside the page. Global page structure covers the page shell. The Sticky container is part of the shell.