Diwa Design System

Partials: Browser Support Fallback Script

Provide a graceful fallback path for environments without core web component APIs so users still get essential task completion paths.

Prerequisites

  • - Agreed browser support policy for your product.
  • - A fallback UX pattern for unsupported environments.
  • - Telemetry or logging for unsupported-browser sessions.

Step 1: Detect baseline browser capabilities

Check required APIs before running component-dependent flows.

function hasWebComponentSupport(): boolean {
  return (
    'customElements' in window &&
    'attachShadow' in Element.prototype &&
    'template' in document.createElement('template')
  );
}

Step 2: Apply fallback state

Tag the document and show an alternate path when capabilities are missing.

if (!hasWebComponentSupport()) {
  document.documentElement.classList.add('diwa-fallback-mode');
}

Step 3: Expose clear user guidance

Render a minimal message and alternate route so users are not blocked without explanation.

<div class="diwa-fallback-banner" role="status">
  Your browser is missing features required for enhanced components.
  You can continue with the basic experience or update your browser.
</div>

Implementation Notes

  • - Fallback mode should prioritize task completion over visual parity.
  • - Do not ship silent failures where controls appear but do not respond.
  • - Document fallback behavior in QA test plans for support teams.

Troubleshooting

  • - If fallback mode is triggered unexpectedly, verify feature checks are not blocked by CSP or test mocks.
  • - If users get stuck, add a clear route to support and browser update guidance.
  • - If analytics are missing, add explicit events for fallback activation.

Next Actions