# MozPageNav `moz-page-nav` is a grouping of navigation buttons that is displayed at the page level, intended to change the selected view, provide a heading, and have links to external resources. ```html story

Test 1

Test 2

Test 3

``` ## When to use * Use moz-page-nav for single-page navigation to switch between different views. * moz-page-nav will also support footer buttons for external support links in the future (See [bug 1877826](https://bugzilla.mozilla.org/show_bug.cgi?id=1877826)) * This component will be used in about: pages such as about:firefoxview, about:preferences, about:addons, about:debugging, etc. ## When not to use * If you need a navigation menu that does not switch between views within a single page ## Code The source for `moz-page-nav` and `moz-page-nav-button` can be found under [toolkit/content/widgets/moz-page-nav](https://searchfox.org/mozilla-central/source/toolkit/content/widgets/moz-page-nav). You can find an examples of `moz-page-nav` in use in the Firefox codebase in [about:firefoxview](https://searchfox.org/mozilla-central/source/browser/components/firefoxview/firefoxview.html#52-87). `moz-page-nav` can be imported into `.html`/`.xhtml` files: ```html ``` And used as follows: ```html ``` ### Fluent usage Generally the `heading` property of `moz-page-nav` will be provided via [Fluent attributes](https://mozilla-l10n.github.io/localizer-documentation/tools/fluent/basic_syntax.html#attributes). To get this working you will need to specify a `data-l10n-id` as well as `data-l10n-attrs` if you're providing a heading: ```html ``` In which case your Fluent messages will look something like this: ``` with-heading = .heading = Heading text goes here ``` You also need to specify a `data-l10n-id` for each `moz-page-nav-button`: ```html ``` ``` with-button-text = button text goes here ```