A11y Design and Development
alt=""
if the image is decorative<!-- Nuxt/ui Button Component -->
Button
icon="isDark ? 'i-lucide-moon' : 'i-lucide-sun'"
aria-label="isDark ? 'Switch to light mode' : 'Switch to dark mode'"
@click="isDark = !isDark"
Use skeleton UI elements that get replaced once a third-party script (like video embed or payment modal) loads, thus reducing visual noise and improving performance.
a11y
feedback is rqd to inform the user when the script is loading or on failure to load.
<ComplicatedComponent>
<template #error>
<Alert
color="red"
title="ComplicatedComponent to load"
description="Refresh page to try again."
/>
</template>
</ComplicatedComponent>
<ComplicatedComponent>
<template #loading>
<ScriptLoadingIndicator />
</template>
</ComplicatedComponent>