Skip to main content
ERROR STATES

System Error Boundaries404, 401, 403, 503, 500

Error templates with editorial typography, 5-band spectrum ribbons, sharp buttons, and recovery actions for Texas A&M Transportation Institute applications.

Select Preset:

Institutional Implementation

Nuxt 4 Root Boundary

Standard app/error.vue

In Nuxt 4, uncaught router exceptions and SSR halts flow to the root app/error.vue boundary. It wraps <TuxErrorPage> with institutional header navigation, brand lockup, and clearError({ redirect: '/' }) hooks.

<script setup lang="ts">
import type { NuxtError } from "#app";
defineProps<{ error: NuxtError }>();
const handleError = () => clearError({ redirect: "/" });
</script>

<template>
  <TuxErrorPage
    :code="String(error.statusCode || 404)"
    :title="error.statusMessage"
    :details="error.stack"
    :actions="[
      { label: 'Return Home', intent: 'primary', onClick: handleError }
    ]"
  />
</template>

WCAG 2.2 Level AAA Compliance

Accessibility Guarantees

Every error condition implements role="alert" and aria-live="polite" so screen readers announce the state change immediately without interrupting critical speech synthesizers.

  • Contrast: Minimum 7.0:1 contrast ratio across TTI Maroon, dark ink, and eggshell surfaces.
  • Touch Targets: Primary recovery buttons preserve minimum 44px hit-box sizing.
  • Keyboard Focus: 3px high-visibility gold/maroon focus rings on all interactive recovery links.