|
|
@@ -170,11 +170,11 @@ const InstallerForm = memo((): JSX.Element => {
|
|
|
</div>
|
|
|
|
|
|
<div className={`input-group mb-3${hasErrorClass}`}>
|
|
|
- <span className="p-2 text-white opacity-75">
|
|
|
- <span className="material-symbols-outlined">person</span>
|
|
|
- </span>
|
|
|
+ <label className="p-2 text-white opacity-75" aria-label={t('User ID')} htmlFor="tiUsername">
|
|
|
+ <span className="material-symbols-outlined" aria-hidden>person</span>
|
|
|
+ </label>
|
|
|
<input
|
|
|
- data-testid="tiUsername"
|
|
|
+ id="tiUsername"
|
|
|
type="text"
|
|
|
className="form-control rounded"
|
|
|
placeholder={t('User ID')}
|
|
|
@@ -186,11 +186,11 @@ const InstallerForm = memo((): JSX.Element => {
|
|
|
<p className="form-text">{ unavailableUserId }</p>
|
|
|
|
|
|
<div className="input-group mb-3">
|
|
|
- <span className="p-2 text-white opacity-75">
|
|
|
- <span className="material-symbols-outlined">sell</span>
|
|
|
- </span>
|
|
|
+ <label className="p-2 text-white opacity-75" aria-label={t('Name')} htmlFor="tiName">
|
|
|
+ <span className="material-symbols-outlined" aria-hidden>sell</span>
|
|
|
+ </label>
|
|
|
<input
|
|
|
- data-testid="tiName"
|
|
|
+ id="tiName"
|
|
|
type="text"
|
|
|
className="form-control rounded"
|
|
|
placeholder={t('Name')}
|
|
|
@@ -200,11 +200,11 @@ const InstallerForm = memo((): JSX.Element => {
|
|
|
</div>
|
|
|
|
|
|
<div className="input-group mb-3">
|
|
|
- <span className="p-2 text-white opacity-75">
|
|
|
- <span className="material-symbols-outlined">mail</span>
|
|
|
- </span>
|
|
|
+ <label className="p-2 text-white opacity-75" aria-label={t('Email')} htmlFor="tiEmail">
|
|
|
+ <span className="material-symbols-outlined" aria-hidden>mail</span>
|
|
|
+ </label>
|
|
|
<input
|
|
|
- data-testid="tiEmail"
|
|
|
+ id="tiEmail"
|
|
|
type="email"
|
|
|
className="form-control rounded"
|
|
|
placeholder={t('Email')}
|
|
|
@@ -214,11 +214,11 @@ const InstallerForm = memo((): JSX.Element => {
|
|
|
</div>
|
|
|
|
|
|
<div className="input-group mb-3">
|
|
|
- <span className="p-2 text-white opacity-75">
|
|
|
- <span className="material-symbols-outlined">lock</span>
|
|
|
- </span>
|
|
|
+ <label className="p-2 text-white opacity-75" aria-label={t('Password')} htmlFor="tiPassword">
|
|
|
+ <span className="material-symbols-outlined" aria-hidden>lock</span>
|
|
|
+ </label>
|
|
|
<input
|
|
|
- data-testid="tiPassword"
|
|
|
+ id="tiPassword"
|
|
|
type="password"
|
|
|
className="form-control rounded"
|
|
|
placeholder={t('Password')}
|
|
|
@@ -229,19 +229,18 @@ const InstallerForm = memo((): JSX.Element => {
|
|
|
|
|
|
<div className="input-group mt-4 justify-content-center">
|
|
|
<button
|
|
|
- data-testid="btnSubmit"
|
|
|
type="submit"
|
|
|
className="btn btn-secondary btn-register col-6 d-flex"
|
|
|
disabled={isLoading}
|
|
|
>
|
|
|
- <span>
|
|
|
+ <span aria-hidden>
|
|
|
{isLoading ? (
|
|
|
<LoadingSpinner />
|
|
|
) : (
|
|
|
<span className="material-symbols-outlined">person_add</span>
|
|
|
)}
|
|
|
</span>
|
|
|
- <span className="flex-grow-1">{ t('Create') }</span>
|
|
|
+ <label className="flex-grow-1">{ t('Create') }</label>
|
|
|
</button>
|
|
|
</div>
|
|
|
|