1
0
Эх сурвалжийг харах

Merge pull request #13566 from itk-dev/8908-accessibility-enhancements

feat: Accessibility enhancements
Tim Jaeryang Baek 5 сар өмнө
parent
commit
f1bb43707e

+ 1 - 0
src/lib/components/ChangelogModal.svelte

@@ -43,6 +43,7 @@
 					fill="currentColor"
 					fill="currentColor"
 					class="w-5 h-5"
 					class="w-5 h-5"
 				>
 				>
+					<p class="sr-only">{$i18n.t('Close')}</p>
 					<path
 					<path
 						d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
 						d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
 					/>
 					/>

+ 4 - 3
src/lib/components/OnBoarding.svelte

@@ -87,6 +87,7 @@
 				<div class="flex justify-center mt-8">
 				<div class="flex justify-center mt-8">
 					<div class="flex flex-col justify-center items-center">
 					<div class="flex flex-col justify-center items-center">
 						<button
 						<button
+							aria-labelledby="get-started"
 							class="relative z-20 flex p-1 rounded-full bg-white/5 hover:bg-white/10 transition font-medium text-sm"
 							class="relative z-20 flex p-1 rounded-full bg-white/5 hover:bg-white/10 transition font-medium text-sm"
 							on:click={() => {
 							on:click={() => {
 								getStartedHandler();
 								getStartedHandler();
@@ -94,12 +95,12 @@
 						>
 						>
 							<ArrowRightCircle className="size-6" />
 							<ArrowRightCircle className="size-6" />
 						</button>
 						</button>
-						<div class="mt-1.5 font-primary text-base font-medium">{$i18n.t(`Get started`)}</div>
+						<div id="get-started" class="mt-1.5 font-primary text-base font-medium">
+							{$i18n.t(`Get started`)}
+						</div>
 					</div>
 					</div>
 				</div>
 				</div>
 			</div>
 			</div>
-
-			<!-- <div class="absolute bottom-12 left-0 right-0 w-full"></div> -->
 		</div>
 		</div>
 	</div>
 	</div>
 {/if}
 {/if}

+ 18 - 7
src/routes/auth/+page.svelte

@@ -188,7 +188,7 @@
 						crossorigin="anonymous"
 						crossorigin="anonymous"
 						src="{WEBUI_BASE_URL}/static/splash.png"
 						src="{WEBUI_BASE_URL}/static/splash.png"
 						class=" w-6 rounded-full"
 						class=" w-6 rounded-full"
-						alt="logo"
+						alt=""
 					/>
 					/>
 				</div>
 				</div>
 			</div>
 			</div>
@@ -235,7 +235,7 @@
 								</div>
 								</div>
 
 
 								{#if $config?.onboarding ?? false}
 								{#if $config?.onboarding ?? false}
-									<div class=" mt-1 text-xs font-medium text-gray-500">
+									<div class="mt-1 text-xs font-medium text-gray-600 dark:text-gray-500">
 										ⓘ {$WEBUI_NAME}
 										ⓘ {$WEBUI_NAME}
 										{$i18n.t(
 										{$i18n.t(
 											'does not make any external connections, and your data stays securely on your locally hosted server.'
 											'does not make any external connections, and your data stays securely on your locally hosted server.'
@@ -248,10 +248,13 @@
 								<div class="flex flex-col mt-4">
 								<div class="flex flex-col mt-4">
 									{#if mode === 'signup'}
 									{#if mode === 'signup'}
 										<div class="mb-2">
 										<div class="mb-2">
-											<div class=" text-sm font-medium text-left mb-1">{$i18n.t('Name')}</div>
+											<label for="name" class="text-sm font-medium text-left mb-1 block"
+												>{$i18n.t('Name')}</label
+											>
 											<input
 											<input
 												bind:value={name}
 												bind:value={name}
 												type="text"
 												type="text"
+												id="name"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												autocomplete="name"
 												autocomplete="name"
 												placeholder={$i18n.t('Enter Your Full Name')}
 												placeholder={$i18n.t('Enter Your Full Name')}
@@ -262,23 +265,29 @@
 
 
 									{#if mode === 'ldap'}
 									{#if mode === 'ldap'}
 										<div class="mb-2">
 										<div class="mb-2">
-											<div class=" text-sm font-medium text-left mb-1">{$i18n.t('Username')}</div>
+											<label for="username" class="text-sm font-medium text-left mb-1 block"
+												>{$i18n.t('Username')}</label
+											>
 											<input
 											<input
 												bind:value={ldapUsername}
 												bind:value={ldapUsername}
 												type="text"
 												type="text"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												autocomplete="username"
 												autocomplete="username"
 												name="username"
 												name="username"
+												id="username"
 												placeholder={$i18n.t('Enter Your Username')}
 												placeholder={$i18n.t('Enter Your Username')}
 												required
 												required
 											/>
 											/>
 										</div>
 										</div>
 									{:else}
 									{:else}
 										<div class="mb-2">
 										<div class="mb-2">
-											<div class=" text-sm font-medium text-left mb-1">{$i18n.t('Email')}</div>
+											<label for="email" class="text-sm font-medium text-left mb-1 block"
+												>{$i18n.t('Email')}</label
+											>
 											<input
 											<input
 												bind:value={email}
 												bind:value={email}
 												type="email"
 												type="email"
+												id="email"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 												autocomplete="email"
 												autocomplete="email"
 												name="email"
 												name="email"
@@ -289,11 +298,13 @@
 									{/if}
 									{/if}
 
 
 									<div>
 									<div>
-										<div class=" text-sm font-medium text-left mb-1">{$i18n.t('Password')}</div>
-
+										<label for="password" class="text-sm font-medium text-left mb-1 block"
+											>{$i18n.t('Password')}</label
+										>
 										<input
 										<input
 											bind:value={password}
 											bind:value={password}
 											type="password"
 											type="password"
+											id="password"
 											class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 											class="my-0.5 w-full text-sm outline-hidden bg-transparent"
 											placeholder={$i18n.t('Enter Your Password')}
 											placeholder={$i18n.t('Enter Your Password')}
 											autocomplete="current-password"
 											autocomplete="current-password"