Official footer
The real wayne.edu footer, rendered from @waynestate/wsufooter, the required pair for OfficialHeader.
Preview
Code
The three render the same class names, the same ARIA and the same data attributes. That is checked when this site builds: a class in any of these samples that neither the markup contract nor the shipped stylesheet defines fails the build.
<!-- static-html pastes this fragment directly; the raw PHP path gets the
same bytes from wsu_university_footer(), which reads them from disk. -->
<footer>
<div class="wsufooter">…</div>
</footer><x-wsu::university-footer variant="official" /><OfficialFooter />Why it works this way
- A public page with the official masthead at the top and nothing at the bottom is missing the privacy and policy link the university expects a public site to publish. This exists so that never happens by omission: pairing the two is the point, not an accident of naming.
- The Vue component wraps the vendored WsuFooter in a real footer element, since Footer.vue itself renders a div with no landmark; the Blade component does the same around WSU\WayneUi\Support\OfficialChrome::footer(). Both give the page its one contentinfo landmark without touching a single attribute inside the dependency.
- Its stylesheet, wayne-ui-official.css, ships separately from wayne-ui.css and is additive only; nothing here restyles the university's markup.
- wsu_university_footer() renders this same vendored fragment, wrapped in the same footer element, by default. Pass ['variant' => 'native'] for the standalone helper's own rendering instead, documented on the University footer page.
- @waynestate/wsuheader ships two artifacts, dist/header.html and src/Header.vue, that disagree with each other; see ADR-0015. Checked at the same package generation, @waynestate/wsufooter's own pair, dist/footer.html and Footer.vue, currently render identical markup. The one difference found is that Footer.vue computes the copyright year at render time where the static fragment has it baked in at release, which is a content difference rather than an accessibility one. ADR-0015's policy still covers this pairing: any future divergence here would be documented and raised upstream rather than patched locally.
Accessibility
- The footer wrapper is what gives the page its one contentinfo landmark; the vendored markup inside it carries none of its own.
- This is wayne.edu's own markup, unmodified. Its accessibility is the university's to maintain, not something this documentation can claim WayneUI fixes.
Success criteria in brackets refer to WCAG 2.2. Every one of them is checked by axe-core in both themes at three viewport widths before this page can be published. See Accessibility for what the gates are.