<%- include('./common/contact.ejs'); %>
<%- include('./common/footer.ejs'); %>
diff --git a/backend/src/http/site/pages/politique-confidentialite.ejs b/backend/src/http/site/pages/politique-confidentialite.ejs
index 7e409870a..9a3481fdf 100644
--- a/backend/src/http/site/pages/politique-confidentialite.ejs
+++ b/backend/src/http/site/pages/politique-confidentialite.ejs
@@ -17,7 +17,7 @@
<%- include('./common/header.ejs'); %>
-
+
+
<%- include('./common/contact.ejs'); %>
<%- include('./common/footer.ejs'); %>
diff --git a/backend/src/http/site/static/css/header.css b/backend/src/http/site/static/css/header.css
index 33f10a229..4662fd3ae 100644
--- a/backend/src/http/site/static/css/header.css
+++ b/backend/src/http/site/static/css/header.css
@@ -9,6 +9,43 @@
background: white;
}
+.skip-link-group {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+}
+
+.skip-link:focus {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 9999;
+ padding: 0.375rem;
+ background: #414042;
+ color: #ffffff;
+}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+}
+
.login {
position: absolute;
top: 0px;
@@ -205,7 +242,7 @@ a.contact {
display: none;
}
- .header .menu span{
+ .header .menu span {
border: 0 !important;
clip: rect(1px, 1px, 1px, 1px) !important;
-webkit-clip-path: inset(50%) !important;
From 946c90bedaffe7c8e341735870cca1e450fe2ebc Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Thu, 18 Apr 2024 16:35:33 +0200
Subject: [PATCH 024/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P01=203.1?=
=?UTF-8?q?=20bulle=20rouge?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/backoffice/components/common/Pastille.jsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/src/backoffice/components/common/Pastille.jsx b/ui/src/backoffice/components/common/Pastille.jsx
index 107946cba..cc8f20baf 100644
--- a/ui/src/backoffice/components/common/Pastille.jsx
+++ b/ui/src/backoffice/components/common/Pastille.jsx
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import './Pastille.scss';
const Pastille = props => {
- return
{props.value} ;
+ return
{props.value} (à traiter) ;
};
Pastille.propTypes = {
From cbbfba4d2d3e0c537e4f34645cf2118ce651b303 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Thu, 18 Apr 2024 17:00:11 +0200
Subject: [PATCH 025/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P02-P03-P0?=
=?UTF-8?q?6=2011.13=20auto=20complete=20formulaire?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/backoffice/components/anonymous/LoginPage.jsx | 2 ++
.../backoffice/components/anonymous/MotDePasseOubliePage.jsx | 1 +
.../components/anonymous/ReinitialisationMotDePassePage.jsx | 2 ++
ui/src/backoffice/components/common/MonComptePage.jsx | 3 +++
ui/src/backoffice/components/common/page/form/InputText.jsx | 4 +++-
5 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/ui/src/backoffice/components/anonymous/LoginPage.jsx b/ui/src/backoffice/components/anonymous/LoginPage.jsx
index 3e0b766a3..28c98473d 100644
--- a/ui/src/backoffice/components/anonymous/LoginPage.jsx
+++ b/ui/src/backoffice/components/anonymous/LoginPage.jsx
@@ -85,6 +85,7 @@ export default class LoginPage extends React.Component {
placeholder="Entrez votre SIRET"
onChange={event => this.setState({ identifiant: event.target.value })}
error={this.state.error ? errorMessage : ''}
+ autoComplete="username"
/>
Mot de passe
@@ -94,6 +95,7 @@ export default class LoginPage extends React.Component {
placeholder="Entrez votre mot de passe "
onChange={event => this.setState({ password: event.target.value })}
error={this.state.error ? ' ' : ''}
+ autoComplete="current-password"
/>
>
}
diff --git a/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx b/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
index c5f7cbdb1..e74227302 100644
--- a/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
+++ b/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
@@ -64,6 +64,7 @@ export default class MotDePasseOubliePage extends React.Component {
placeholder="Identifiant"
error={this.state.error}
onChange={event => this.setState({ identifiant: event.target.value })}
+ autoComplete="username"
/>
Si vous êtes un organisme, vous devez désormais renseigner votre numéro de
diff --git a/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx b/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
index 93cb68b1a..077ae3137 100644
--- a/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
+++ b/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
@@ -107,6 +107,7 @@ export default class ReinitialisationMotDePassePage extends React.Component {
placeholder="Mot de passe"
error={errors.passwordNotStrongEnough}
onChange={event => this.setState({ password: event.target.value })}
+ autoComplete="new-password"
/>
Confirmer le nouveau mot de passe
@@ -116,6 +117,7 @@ export default class ReinitialisationMotDePassePage extends React.Component {
placeholder="Mot de passe"
error={errors.isNotSamePassword}
onChange={event => this.setState({ confirmation: event.target.value })}
+ autoComplete="new-password"
/>
>
}
diff --git a/ui/src/backoffice/components/common/MonComptePage.jsx b/ui/src/backoffice/components/common/MonComptePage.jsx
index 3858f5cc5..11614560a 100644
--- a/ui/src/backoffice/components/common/MonComptePage.jsx
+++ b/ui/src/backoffice/components/common/MonComptePage.jsx
@@ -93,6 +93,7 @@ export default class MonComptePage extends React.Component {
value={this.state.current}
placeholder="Mot de passe"
onChange={event => this.setState({ current: event.target.value })}
+ autoComplete="current-password"
/>
Nouveau mot de passe
@@ -102,6 +103,7 @@ export default class MonComptePage extends React.Component {
placeholder="Mot de passe"
error={errors.passwordNotStrongEnough}
onChange={event => this.setState({ password: event.target.value })}
+ autoComplete="new-password"
/>
Confirmer le nouveau mot de passe
@@ -111,6 +113,7 @@ export default class MonComptePage extends React.Component {
placeholder="Mot de passe"
error={errors.isNotSamePassword}
onChange={event => this.setState({ confirmation: event.target.value })}
+ autoComplete="new-password"
/>
>
}
diff --git a/ui/src/backoffice/components/common/page/form/InputText.jsx b/ui/src/backoffice/components/common/page/form/InputText.jsx
index 959830b36..8d541db54 100644
--- a/ui/src/backoffice/components/common/page/form/InputText.jsx
+++ b/ui/src/backoffice/components/common/page/form/InputText.jsx
@@ -10,6 +10,7 @@ export default class InputText extends React.Component {
icon: PropTypes.node,
reset: PropTypes.func,
error: PropTypes.string,
+ autoComplete: PropTypes.string,
};
render() {
@@ -27,7 +28,8 @@ export default class InputText extends React.Component {
From 53c15a661833b00f6f6e83cfc3104ed7f4c669e5 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 15:47:38 +0200
Subject: [PATCH 026/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P03=20focu?=
=?UTF-8?q?s=20sur=20input?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/anonymous/MotDePasseOubliePage.jsx | 12 +++++++++++-
.../components/common/page/form/InputText.jsx | 9 ++++++++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx b/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
index e74227302..58a4e5cf5 100644
--- a/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
+++ b/ui/src/backoffice/components/anonymous/MotDePasseOubliePage.jsx
@@ -7,6 +7,8 @@ import Button from '../../../common/components/Button';
import { CenteredForm } from '../common/page/form/CenteredForm';
import { askNewPassword } from '../../services/passwordService';
import BackofficeContext from '../../BackofficeContext';
+import './LoginPage.scss';
+
export default class MotDePasseOubliePage extends React.Component {
@@ -18,6 +20,7 @@ export default class MotDePasseOubliePage extends React.Component {
constructor(props) {
super(props);
+ this.inputRef = React.createRef();
this.state = {
loading: false,
identifiant: '',
@@ -41,7 +44,12 @@ export default class MotDePasseOubliePage extends React.Component {
});
})
.catch(() => {
- this.setState({ error: 'Une erreur est survenue', loading: false });
+ this.setState({ error: 'Une erreur est survenue', loading: false },()=>{
+ if (this.inputRef.current && this.inputRef.current.focus) {
+ this.inputRef.current.focus();
+ }
+ }
+ );
});
};
@@ -49,6 +57,7 @@ export default class MotDePasseOubliePage extends React.Component {
return (
this.setState({ identifiant: event.target.value })}
autoComplete="username"
+ inputRef={this.inputRef}
/>
Si vous êtes un organisme, vous devez désormais renseigner votre numéro de
diff --git a/ui/src/backoffice/components/common/page/form/InputText.jsx b/ui/src/backoffice/components/common/page/form/InputText.jsx
index 8d541db54..6b14603c2 100644
--- a/ui/src/backoffice/components/common/page/form/InputText.jsx
+++ b/ui/src/backoffice/components/common/page/form/InputText.jsx
@@ -11,10 +11,16 @@ export default class InputText extends React.Component {
reset: PropTypes.func,
error: PropTypes.string,
autoComplete: PropTypes.string,
+ inputRef: PropTypes.object,
};
+ constructor(props) {
+ super(props);
+ this.inputRef = React.createRef();
+ }
+
render() {
- let { icon, reset, error } = this.props;
+ let { icon, reset, error, inputRef } = this.props;
return (
@@ -30,6 +36,7 @@ export default class InputText extends React.Component {
type="text"
autocomplete={this.autoComplete?this.autoComplete:null}
className={`${this.icon ? 'with-icon' : ''} ${this.reset ? 'with-reset' : ''} ${this.error ? 'with-error' : ''}`}
+ ref={inputRef || this.inputRef}
{..._.omit(this.props, ['icon', 'reset', 'error'])}
/>
From 32850c54b276e9c6a3a96ef71a72a9b732fa07a0 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 15:49:25 +0200
Subject: [PATCH 027/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20coh=C3=A9r?=
=?UTF-8?q?ence=20entre=20nom=20image=20et=20image?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/config/regions.json | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/backend/config/regions.json b/backend/config/regions.json
index c556f03de..93f1a0e24 100644
--- a/backend/config/regions.json
+++ b/backend/config/regions.json
@@ -75,7 +75,7 @@
}
},
{
- "nom": "Bourgogne-Franche-Comté",
+ "nom": "Région Bourgogne-Franche-Comté",
"active": true,
"since": "2017-09-01",
"codeRegion": "27",
@@ -130,12 +130,12 @@
},
"carif": {
"active": true,
- "nom": "Emfor",
+ "nom": "Emfor Bourgogne-Franche-Comté",
"url": "http://www.emfor-bfc.org/"
}
},
{
- "nom": "Bretagne",
+ "nom": "Région Bretagne",
"active": true,
"since": "2018-05-01",
"codeRegion": "53",
@@ -389,7 +389,7 @@
}
},
{
- "nom": "Hauts-de-France",
+ "nom": "Région Hauts-de-France",
"active": true,
"since": "2018-05-27",
"codeRegion": "32",
@@ -431,7 +431,7 @@
},
"carif": {
"active": true,
- "nom": "C2RP",
+ "nom": "C2RP Orientation Formation Emploi Carif-Oref Hauts-de-France",
"url": "http://www.c2rp.fr/"
}
},
@@ -577,7 +577,8 @@
"import": "all"
},
"carif": {
- "active": false
+ "active": false,
+ "nom": "Collectivité Territoriale de Martinique"
}
},
{
@@ -700,7 +701,7 @@
}
},
{
- "nom": "Occitanie",
+ "nom": "La region Occitanie Pyrénées - Méditerranée",
"active": true,
"since": "2018-06-01",
"codeRegion": "76",
@@ -777,7 +778,7 @@
}
},
{
- "nom": "Pays de la Loire",
+ "nom": "Région Pays de la Loire",
"active": true,
"since": "2017-07-01",
"codeRegion": "52",
@@ -819,7 +820,7 @@
},
"carif": {
"active": true,
- "nom": "Orientation Pays de la Loire",
+ "nom": "Choisir mon metier en Pays de la Loire",
"url": "http://www.orientation-paysdelaloire.fr/"
}
},
From db5d17bda61caf764a3b9a422c033484667f183e Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 15:51:17 +0200
Subject: [PATCH 028/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20voire=20Bu?=
=?UTF-8?q?tton=20quand=20focus?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/common/components/Button.scss | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ui/src/common/components/Button.scss b/ui/src/common/components/Button.scss
index cb174ebb2..c642d3156 100644
--- a/ui/src/common/components/Button.scss
+++ b/ui/src/common/components/Button.scss
@@ -20,6 +20,8 @@
&:focus {
outline: 0;
+ border: 2px solid black;
+ border-radius: 5px 5px 5px 5px;
}
&:hover, &.a-btn-hover {
@@ -45,6 +47,8 @@
&:focus {
outline: 0;
+ border: 2px solid black;
+ border-radius: 5px 5px 5px 5px;
}
&.a-btn-disabled {
@@ -72,6 +76,8 @@
&:focus {
outline: 0;
+ border: 2px solid black;
+ border-radius: 5px 5px 5px 5px;
}
&:hover, &.a-btn-hover {
From 858611f39d729be9ea83b712a16d708a54f88b9a Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 15:54:14 +0200
Subject: [PATCH 029/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P02-04=20c?=
=?UTF-8?q?ontraste=20placeholder?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/backoffice/components/anonymous/LoginPage.jsx | 4 +++-
ui/src/backoffice/components/anonymous/LoginPage.scss | 10 ++++++++++
.../components/common/page/form/CenteredForm.scss | 1 -
.../components/common/page/form/date/Date.scss | 2 +-
4 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/ui/src/backoffice/components/anonymous/LoginPage.jsx b/ui/src/backoffice/components/anonymous/LoginPage.jsx
index 28c98473d..5224de84b 100644
--- a/ui/src/backoffice/components/anonymous/LoginPage.jsx
+++ b/ui/src/backoffice/components/anonymous/LoginPage.jsx
@@ -86,6 +86,7 @@ export default class LoginPage extends React.Component {
onChange={event => this.setState({ identifiant: event.target.value })}
error={this.state.error ? errorMessage : ''}
autoComplete="username"
+ className="placeholder-opaque"
/>
Mot de passe
@@ -96,13 +97,14 @@ export default class LoginPage extends React.Component {
onChange={event => this.setState({ password: event.target.value })}
error={this.state.error ? ' ' : ''}
autoComplete="current-password"
+ className="placeholder-opaque"
/>
>
}
buttons={
-
+
Mot de passe oublié
diff --git a/ui/src/backoffice/components/anonymous/LoginPage.scss b/ui/src/backoffice/components/anonymous/LoginPage.scss
index 07c8a9651..509bf8a36 100644
--- a/ui/src/backoffice/components/anonymous/LoginPage.scss
+++ b/ui/src/backoffice/components/anonymous/LoginPage.scss
@@ -8,5 +8,15 @@
font-size: 0.875rem;
}
+ .placeholder-opaque::placeholder {
+ opacity: 1;
+ }
+}
+
+.Backoffice .MotDePasseOubliePage {
+
+ .placeholder-opaque::placeholder {
+ opacity: 1;
+ }
}
diff --git a/ui/src/backoffice/components/common/page/form/CenteredForm.scss b/ui/src/backoffice/components/common/page/form/CenteredForm.scss
index 3ed356a05..762651538 100644
--- a/ui/src/backoffice/components/common/page/form/CenteredForm.scss
+++ b/ui/src/backoffice/components/common/page/form/CenteredForm.scss
@@ -14,7 +14,6 @@
}
.clarification {
- color: $color-black-60;
font-size: 0.875rem;
a {
diff --git a/ui/src/backoffice/components/common/page/form/date/Date.scss b/ui/src/backoffice/components/common/page/form/date/Date.scss
index 81c9f8864..469d5d749 100644
--- a/ui/src/backoffice/components/common/page/form/date/Date.scss
+++ b/ui/src/backoffice/components/common/page/form/date/Date.scss
@@ -21,7 +21,7 @@
&::placeholder {
color: $color-black;
- opacity: 0.6;
+ opacity: 1;
}
}
}
From a66240a51c257a7242d376aa609755d76b0cc24c Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 16:47:51 +0200
Subject: [PATCH 030/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P02-P06=20?=
=?UTF-8?q?focus=20sur=20input?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/backoffice/components/anonymous/LoginPage.jsx | 10 +++++++++-
ui/src/backoffice/components/common/MonComptePage.jsx | 7 ++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/ui/src/backoffice/components/anonymous/LoginPage.jsx b/ui/src/backoffice/components/anonymous/LoginPage.jsx
index 5224de84b..49426558d 100644
--- a/ui/src/backoffice/components/anonymous/LoginPage.jsx
+++ b/ui/src/backoffice/components/anonymous/LoginPage.jsx
@@ -19,6 +19,7 @@ export default class LoginPage extends React.Component {
constructor(props) {
super(props);
+ this.inputRef = React.createRef();
this.state = {
loginWithAccessToken: false,
loading: false,
@@ -42,7 +43,13 @@ export default class LoginPage extends React.Component {
login(this.state.identifiant, this.state.password)
.then(data => this.props.onLogin(data))
- .catch(() => this.setState({ error: true, loading: false }));
+ .catch(() => {
+ this.setState({ error: true, loading: false }, ()=>{
+ if (this.inputRef.current && this.inputRef.current.focus) {
+ this.inputRef.current.focus();
+ }
+ });
+ });
};
handleAccessToken = data => {
@@ -87,6 +94,7 @@ export default class LoginPage extends React.Component {
error={this.state.error ? errorMessage : ''}
autoComplete="username"
className="placeholder-opaque"
+ inputRef={this.inputRef}
/>
Mot de passe
diff --git a/ui/src/backoffice/components/common/MonComptePage.jsx b/ui/src/backoffice/components/common/MonComptePage.jsx
index 11614560a..4b4319f1e 100644
--- a/ui/src/backoffice/components/common/MonComptePage.jsx
+++ b/ui/src/backoffice/components/common/MonComptePage.jsx
@@ -15,6 +15,7 @@ export default class MonComptePage extends React.Component {
constructor(props) {
super(props);
+ this.inputRef = React.createRef();
this.state = {
loading: false,
current: '',
@@ -41,6 +42,9 @@ export default class MonComptePage extends React.Component {
}
}, async () => {
let isFormValid = _.every(Object.values(this.state.errors), v => !v);
+ if (this.inputRef.current && this.inputRef.current.focus) {
+ this.inputRef.current.focus();
+ }
if (isFormValid) {
this.setState({ loading: true });
@@ -60,7 +64,7 @@ export default class MonComptePage extends React.Component {
});
})
.catch(async error => {
- let json = await error.json;
+ let json = await error.json();
showMessage({
text: json.message,
@@ -104,6 +108,7 @@ export default class MonComptePage extends React.Component {
error={errors.passwordNotStrongEnough}
onChange={event => this.setState({ password: event.target.value })}
autoComplete="new-password"
+ inputRef={this.inputRef}
/>
Confirmer le nouveau mot de passe
From 53c39bbc585cede4fa065d9097be4e01096531a5 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Fri, 19 Apr 2024 17:09:44 +0200
Subject: [PATCH 031/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=203.2=20cont?=
=?UTF-8?q?raste?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/src/core/components/emails/common/head.mjml.ejs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/backend/src/core/components/emails/common/head.mjml.ejs b/backend/src/core/components/emails/common/head.mjml.ejs
index fa8b3ad1b..d219a69c3 100644
--- a/backend/src/core/components/emails/common/head.mjml.ejs
+++ b/backend/src/core/components/emails/common/head.mjml.ejs
@@ -21,8 +21,7 @@
.text-secondary div {
font-size: 14px !important;
- line-height: 18px !important;
- opacity: 0.6 !important;
+ line-height: 18px !important;
}
.text-tertiary div {
From 5147cb8e54042f6c8a933af50be44dd0f524e8a7 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Mon, 22 Apr 2024 17:07:22 +0200
Subject: [PATCH 032/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P07=20opti?=
=?UTF-8?q?on=20accessible=20depuis=20clavier?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../backoffice/components/common/Dropdown.jsx | 24 ++++++++++++++-----
ui/src/common/components/Modal.scss | 17 +++++++++++++
2 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/ui/src/backoffice/components/common/Dropdown.jsx b/ui/src/backoffice/components/common/Dropdown.jsx
index d43fd5963..e7f39b870 100644
--- a/ui/src/backoffice/components/common/Dropdown.jsx
+++ b/ui/src/backoffice/components/common/Dropdown.jsx
@@ -5,18 +5,30 @@ import './Dropdown.scss';
export const DropdownDivider = () => (
);
-export const DropdownItem = props => {
+export const DropdownItem = ({ onClick, className, children, ...props }) => {
+ const handleKeyDown = (event) => {
+ if (event.key === 'Enter' || event.key === ' ') {
+ event.preventDefault();
+ onClick();
+ }
+ };
+
return (
- {props.children}
+ className={`dropdown-item ${className}`}
+ onClick={onClick}
+ onKeyDown={handleKeyDown}
+ tabIndex="0"
+ role="button"
+ {...props}
+ >
+ {children}
);
};
-
+
DropdownItem.propTypes = {
+ onClick: PropTypes.func.isRequired,
children: PropTypes.node.isRequired,
className: PropTypes.string,
};
diff --git a/ui/src/common/components/Modal.scss b/ui/src/common/components/Modal.scss
index e528d7549..ed4d9542f 100644
--- a/ui/src/common/components/Modal.scss
+++ b/ui/src/common/components/Modal.scss
@@ -28,6 +28,23 @@
font-size: 1.1rem;
font-weight: $font-weight-bold;
}
+
+ .modal-cross {
+ font-weight: 600;
+ box-shadow: rgba(0, 0, 0, 0.35) 0px 2px 2px 0px;
+ background-color: rgb(77, 144, 255);
+ color: rgb(247, 248, 250);
+ height: 35px;
+ width: 50px;
+ font-size: 14px;
+ border-radius: 3px;
+ border-width: 1px;
+ border-style: solid;
+ border-color: rgb(43, 123, 255);
+ cursor: pointer;
+ }
+
+
}
.modal-footer {
From 8a3361acca20e5363e0631f7851cd3b811fa17e7 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Tue, 23 Apr 2024 11:57:38 +0200
Subject: [PATCH 033/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P07=207.1?=
=?UTF-8?q?=20option=20accessible=20depuis=20clavier?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/common/components/Modal.jsx | 67 ++++++++++++++++++++++++++----
1 file changed, 60 insertions(+), 7 deletions(-)
diff --git a/ui/src/common/components/Modal.jsx b/ui/src/common/components/Modal.jsx
index bd6161e4a..58eeb1294 100644
--- a/ui/src/common/components/Modal.jsx
+++ b/ui/src/common/components/Modal.jsx
@@ -15,6 +15,7 @@ export default class Modal extends React.Component {
constructor(props) {
super(props);
+ this.modalRef = React.createRef();
this.state = {
showTransition: false,
};
@@ -26,14 +27,63 @@ export default class Modal extends React.Component {
body.style.paddingRight = '15px';
this.triggerTransition();
+ document.addEventListener("keydown", this.handleTabKey);
}
componentWillUnmount() {
- let body = document.getElementsByTagName('body')[0];
- body.classList.remove('modal-open');
- body.style.paddingRight = null;
+ document.removeEventListener("keydown", this.handleTabKey);
}
+ handleTabKey = e => {
+ const focusableModalElements = this.modalRef.current.querySelectorAll(
+ 'a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select'
+ );
+ const firstElement = focusableModalElements[0];
+ const secondElement = focusableModalElements[1];
+ const lastElement = focusableModalElements[2];
+
+
+ if (e.key === "Escape") {//escape -> ferme
+ this.props.onClose();
+ return;
+ }
+ if(e.key === "Enter" && document.activeElement === firstElement) {//Entrer sur Croix -> ferme
+ this.props.onClose();
+ return;
+ }
+ else if (e.shiftKey && e.key === "Tab" && document.activeElement === firstElement) {//Shift + Tabulation sur Croix -> Confirmer
+ lastElement.focus();
+ e.preventDefault();
+ }
+ else if (!e.shiftKey && e.key === "Tab" && document.activeElement === firstElement) {//Tabulation sur Croix -> Annuler
+ secondElement.focus();
+ e.preventDefault();
+ }
+ else if (e.key === "Enter" && document.activeElement === secondElement) {//Entrer sur Annuler -> ferme
+ this.props.onClose();
+ return;
+ }
+ else if (e.shiftKey && e.key === "Tab" && document.activeElement === secondElement) {//Shift + Tabulation sur Annuler -> Croix
+ firstElement.focus();
+ e.preventDefault();
+ }
+ else if (!e.shiftKey && e.key === "Tab" && document.activeElement === secondElement) {//Tabulation sur Annuler -> Confirmer
+ lastElement.focus();
+ e.preventDefault();
+ }
+ else if (e.key === "Enter" && document.activeElement === lastElement) {//Entrer sur Confirmer -> Confirme
+ this.props.onConfirmed();
+ e.preventDefault();
+ }else if (e.shiftKey && e.key === "Tab" && document.activeElement === lastElement) {//Shift + Tabulation sur Confirmer -> Annuler
+ secondElement.focus();
+ e.preventDefault();
+ }
+ else {//Tabulation sur confirmer -> Croix
+ firstElement.focus();
+ e.preventDefault();
+ }
+ };
+
triggerTransition() {
setTimeout(() => this.setState({ showTransition: true }), 5);
}
@@ -43,15 +93,18 @@ export default class Modal extends React.Component {
let transitionClass = this.state.showTransition ? 'show' : '';
return (
-
+
-
+
-
{title}
+ {title}
+
+ ✕
+
-
+
From 6e6f081028391aa121be554de7eba2dba0f11e8b Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Tue, 23 Apr 2024 16:13:09 +0200
Subject: [PATCH 034/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20P07-P08=20?=
=?UTF-8?q?11.9=20libelle=20bouton=20action=20avec=20index?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/backoffice/components/common/avis/Avis.jsx | 13 +++++++------
ui/src/backoffice/components/common/avis/Notes.jsx | 4 +++-
.../components/common/avis/buttons/EditButton.jsx | 8 +++++++-
.../components/common/avis/buttons/RejectButton.jsx | 9 +++++++--
.../common/avis/buttons/RejectReponseButton.jsx | 8 +++++++-
.../common/avis/buttons/ValidateButton.jsx | 9 +++++++--
.../common/avis/buttons/ValidateReponseButton.jsx | 8 +++++++-
.../common/page/panel/results/AvisResults.jsx | 6 +++---
.../moderation-avis/ModerationAvisPage.jsx | 3 ++-
.../moderation-avis/ModerationReponsesPage.jsx | 3 ++-
10 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/ui/src/backoffice/components/common/avis/Avis.jsx b/ui/src/backoffice/components/common/avis/Avis.jsx
index cee5acf15..c1f8c9a51 100644
--- a/ui/src/backoffice/components/common/avis/Avis.jsx
+++ b/ui/src/backoffice/components/common/avis/Avis.jsx
@@ -79,7 +79,7 @@ export default class Avis extends React.Component {
render() {
let {
- avis, renderWorkflow, showReponse, showReponseButtons,
+ avis, index, renderWorkflow, showReponse, showReponseButtons,
showModerationButtons, showModerationReponseButtons,
} = this.props;
let { message, showReponseEditor } = this.state;
@@ -129,7 +129,7 @@ export default class Avis extends React.Component {
}
-
+
@@ -139,11 +139,12 @@ export default class Avis extends React.Component {
-
-
+
+
}
@@ -183,8 +184,8 @@ export default class Avis extends React.Component {
{showModerationReponseButtons &&
}
diff --git a/ui/src/backoffice/components/common/avis/Notes.jsx b/ui/src/backoffice/components/common/avis/Notes.jsx
index 8628eb6da..a0816f61d 100644
--- a/ui/src/backoffice/components/common/avis/Notes.jsx
+++ b/ui/src/backoffice/components/common/avis/Notes.jsx
@@ -19,6 +19,7 @@ export default class Notes extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
};
constructor(props) {
@@ -47,7 +48,8 @@ export default class Notes extends React.Component {
let { avis } = this.props;
let buttonText = (
- Détails des notes
+ Détails des notes du commentaire {this.props.index}
+
);
diff --git a/ui/src/backoffice/components/common/avis/buttons/EditButton.jsx b/ui/src/backoffice/components/common/avis/buttons/EditButton.jsx
index d7e80d69f..c283c573a 100644
--- a/ui/src/backoffice/components/common/avis/buttons/EditButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/EditButton.jsx
@@ -9,6 +9,7 @@ export default class EditButton extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
onEdit: PropTypes.func.isRequired,
};
@@ -72,6 +73,11 @@ export default class EditButton extends React.Component {
};
render() {
+ let buttonText = (
+
+ éditer le commentaire {this.props.index}
+
+ );
return (
{this.state.showModal === 'resend' && this.getResendModal()}
@@ -80,7 +86,7 @@ export default class EditButton extends React.Component {
header="Edition"
button={
-
+ {buttonText}
}
items={
diff --git a/ui/src/backoffice/components/common/avis/buttons/RejectButton.jsx b/ui/src/backoffice/components/common/avis/buttons/RejectButton.jsx
index d55768a27..4a73ed046 100644
--- a/ui/src/backoffice/components/common/avis/buttons/RejectButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/RejectButton.jsx
@@ -9,6 +9,7 @@ export default class RejectButton extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
};
@@ -55,7 +56,11 @@ export default class RejectButton extends React.Component {
render() {
let { avis } = this.props;
-
+ let buttonText = (
+
+ Rejeter le commentaire {this.props.index}
+
+ );
return (
{this.state.showModal && this.getModal()}
@@ -63,7 +68,7 @@ export default class RejectButton extends React.Component {
header="Rejeter"
button={
-
+ {buttonText}
}
items={
diff --git a/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx b/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
index d35fc5812..ea71c39c7 100644
--- a/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
@@ -7,6 +7,7 @@ export default class RejectReponseButton extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
};
@@ -25,12 +26,17 @@ export default class RejectReponseButton extends React.Component {
};
render() {
+ let buttonText = (
+
+ Rejetés le commentaire {this.props.index}
+
+ );
return (
-
+ {buttonText}
);
diff --git a/ui/src/backoffice/components/common/avis/buttons/ValidateButton.jsx b/ui/src/backoffice/components/common/avis/buttons/ValidateButton.jsx
index 3daf159d6..922623435 100644
--- a/ui/src/backoffice/components/common/avis/buttons/ValidateButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/ValidateButton.jsx
@@ -8,6 +8,7 @@ export default class ValidateButton extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
};
@@ -24,14 +25,18 @@ export default class ValidateButton extends React.Component {
};
render() {
-
+ let buttonText = (
+
+ Valider et tagguer le commentaire {this.props.index}
+
+ );
return (
-
+ {buttonText}
}
items={
diff --git a/ui/src/backoffice/components/common/avis/buttons/ValidateReponseButton.jsx b/ui/src/backoffice/components/common/avis/buttons/ValidateReponseButton.jsx
index e24aba0b3..75d2ddf93 100644
--- a/ui/src/backoffice/components/common/avis/buttons/ValidateReponseButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/ValidateReponseButton.jsx
@@ -7,6 +7,7 @@ export default class ValidateReponseButton extends React.Component {
static propTypes = {
avis: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
};
@@ -24,10 +25,15 @@ export default class ValidateReponseButton extends React.Component {
render() {
let isValidated = this.props.avis.reponse.status === 'validated';
+ let buttonText = (
+
+ Valider le commentaire {this.props.index}
+
+ );
return (
-
+ {buttonText}
);
diff --git a/ui/src/backoffice/components/common/page/panel/results/AvisResults.jsx b/ui/src/backoffice/components/common/page/panel/results/AvisResults.jsx
index 44925a6bd..0a213cfb9 100644
--- a/ui/src/backoffice/components/common/page/panel/results/AvisResults.jsx
+++ b/ui/src/backoffice/components/common/page/panel/results/AvisResults.jsx
@@ -10,11 +10,11 @@ const AvisResults = ({ results, renderAvis }) => {
{
results.meta.pagination.totalItems === 0 ?
:
- results.avis.map(avis => {
+ results.avis.map((avis, index) => {
return (
-
+
- {renderAvis(avis)}
+ {renderAvis(avis, index)}
diff --git a/ui/src/backoffice/components/moderateur/moderation-avis/ModerationAvisPage.jsx b/ui/src/backoffice/components/moderateur/moderation-avis/ModerationAvisPage.jsx
index 85eed8222..1224a45c0 100644
--- a/ui/src/backoffice/components/moderateur/moderation-avis/ModerationAvisPage.jsx
+++ b/ui/src/backoffice/components/moderateur/moderation-avis/ModerationAvisPage.jsx
@@ -179,10 +179,11 @@ export default class ModerationAvisPage extends React.Component {
results={
{
+ renderAvis={(avis, index) => {
return (
{
return ;
diff --git a/ui/src/backoffice/components/moderateur/moderation-avis/ModerationReponsesPage.jsx b/ui/src/backoffice/components/moderateur/moderation-avis/ModerationReponsesPage.jsx
index a54081116..afa6d2931 100644
--- a/ui/src/backoffice/components/moderateur/moderation-avis/ModerationReponsesPage.jsx
+++ b/ui/src/backoffice/components/moderateur/moderation-avis/ModerationReponsesPage.jsx
@@ -141,10 +141,11 @@ export default class ModerationReponsesPage extends React.Component {
results={
{
+ renderAvis={(avis, index) => {
return (
{
return ;
}}
From f7deff916ac463f859819b834f547b593791edf8 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Tue, 23 Apr 2024 17:06:26 +0200
Subject: [PATCH 035/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20correction?=
=?UTF-8?q?=20bug=20scroll=20Modal?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/common/components/Modal.jsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ui/src/common/components/Modal.jsx b/ui/src/common/components/Modal.jsx
index 58eeb1294..e8b61fa8b 100644
--- a/ui/src/common/components/Modal.jsx
+++ b/ui/src/common/components/Modal.jsx
@@ -32,6 +32,8 @@ export default class Modal extends React.Component {
componentWillUnmount() {
document.removeEventListener("keydown", this.handleTabKey);
+ let body = document.getElementsByTagName('body')[0];
+ body.classList.remove('modal-open');
}
handleTabKey = e => {
From c2091023c829cb6be9c0fa8088a75db661d33165 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 13:52:13 +0200
Subject: [PATCH 036/128] =?UTF-8?q?feat:=20accessibilit=C3=A9=20contraste?=
=?UTF-8?q?=20notation=20stagiaire=20email?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/questionnaire/components/formulaire/notes/note.scss | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ui/src/questionnaire/components/formulaire/notes/note.scss b/ui/src/questionnaire/components/formulaire/notes/note.scss
index 3e113ed8c..54af86ffc 100644
--- a/ui/src/questionnaire/components/formulaire/notes/note.scss
+++ b/ui/src/questionnaire/components/formulaire/notes/note.scss
@@ -60,12 +60,14 @@
}
.fas.fa-star.inactive {
- color: $color-grey-50;
+ color: $color-dark;
+ font-size: 1.25rem;
}
.fas.fa-star {
color: $color-orange;
cursor: pointer;
+ font-size: 1.55rem;
}
.star-tooltip {
From b9964eacc0c3b1f7fc877f156edfc5899655e16c Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 15:26:21 +0200
Subject: [PATCH 037/128] feat: accessibilite P09 11.9 libelle bouton action
avec index + correction faute
---
.../common/avis/buttons/RejectReponseButton.jsx | 2 +-
.../gestion-organismes/GestionOrganismePage.jsx | 3 ++-
.../gestion-organismes/components/Organisme.jsx | 5 +++--
.../gestion-organismes/components/buttons/EditButton.jsx | 8 +++++++-
4 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx b/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
index ea71c39c7..7df6df542 100644
--- a/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
+++ b/ui/src/backoffice/components/common/avis/buttons/RejectReponseButton.jsx
@@ -28,7 +28,7 @@ export default class RejectReponseButton extends React.Component {
render() {
let buttonText = (
- Rejetés le commentaire {this.props.index}
+ Rejeter le commentaire {this.props.index}
);
return (
diff --git a/ui/src/backoffice/components/moderateur/gestion-organismes/GestionOrganismePage.jsx b/ui/src/backoffice/components/moderateur/gestion-organismes/GestionOrganismePage.jsx
index e567a7681..1b4925e0d 100644
--- a/ui/src/backoffice/components/moderateur/gestion-organismes/GestionOrganismePage.jsx
+++ b/ui/src/backoffice/components/moderateur/gestion-organismes/GestionOrganismePage.jsx
@@ -192,11 +192,12 @@ export default class GestionOrganismePage extends React.Component {
}
{
- results.organismes.map(organisme => {
+ results.organismes.map((organisme, index) => {
return (
{
let { message } = options;
if (message) {
diff --git a/ui/src/backoffice/components/moderateur/gestion-organismes/components/Organisme.jsx b/ui/src/backoffice/components/moderateur/gestion-organismes/components/Organisme.jsx
index 70ff65423..92395c7b1 100644
--- a/ui/src/backoffice/components/moderateur/gestion-organismes/components/Organisme.jsx
+++ b/ui/src/backoffice/components/moderateur/gestion-organismes/components/Organisme.jsx
@@ -8,6 +8,7 @@ export default class Organisme extends React.Component {
static propTypes = {
organisme: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
};
@@ -25,7 +26,7 @@ export default class Organisme extends React.Component {
};
render() {
- let { organisme, onChange } = this.props;
+ let { organisme, index, onChange } = this.props;
let isInactive = organisme.status === 'inactive';
/*
@@ -80,7 +81,7 @@ export default class Organisme extends React.Component {
{!this.state.showEdition &&
}
diff --git a/ui/src/backoffice/components/moderateur/gestion-organismes/components/buttons/EditButton.jsx b/ui/src/backoffice/components/moderateur/gestion-organismes/components/buttons/EditButton.jsx
index 4f8dcc81e..9ee0b8e6a 100644
--- a/ui/src/backoffice/components/moderateur/gestion-organismes/components/buttons/EditButton.jsx
+++ b/ui/src/backoffice/components/moderateur/gestion-organismes/components/buttons/EditButton.jsx
@@ -8,6 +8,7 @@ export default class EditButton extends React.Component {
static propTypes = {
organisme: PropTypes.object.isRequired,
+ index: PropTypes.object.isRequired,
onChange: PropTypes.func.isRequired,
onEdit: PropTypes.func.isRequired,
};
@@ -22,13 +23,18 @@ export default class EditButton extends React.Component {
};
render() {
+ let buttonText = (
+
+ Modifier ou supprimer {this.props.index}
+
+ );
return (
-
+ {buttonText}
}
items={
From 52357a01b0237c1e4ea57c424e3a166b9df3dc5e Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 16:49:41 +0200
Subject: [PATCH 038/128] =?UTF-8?q?feat:=20accessibilite=20r=C3=A9initiali?=
=?UTF-8?q?ser=20mot=20de=20passe=20-=20focus=20input?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/anonymous/ReinitialisationMotDePassePage.jsx | 5 +++++
ui/src/backoffice/components/common/MonComptePage.jsx | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx b/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
index 077ae3137..ee4cd1a16 100644
--- a/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
+++ b/ui/src/backoffice/components/anonymous/ReinitialisationMotDePassePage.jsx
@@ -20,6 +20,7 @@ export default class ReinitialisationMotDePassePage extends React.Component {
constructor(props) {
super(props);
+ this.inputRef = React.createRef();
this.state = {
loading: false,
password: '',
@@ -62,6 +63,9 @@ export default class ReinitialisationMotDePassePage extends React.Component {
}
}, async () => {
let isFormValid = _.every(Object.values(this.state.errors), v => !v);
+ if (this.inputRef.current && this.inputRef.current.focus) {
+ this.inputRef.current.focus();
+ }
if (isFormValid) {
let { forgottenPasswordToken } = this.props.router.getQuery();
@@ -108,6 +112,7 @@ export default class ReinitialisationMotDePassePage extends React.Component {
error={errors.passwordNotStrongEnough}
onChange={event => this.setState({ password: event.target.value })}
autoComplete="new-password"
+ inputRef={this.inputRef}
/>
Confirmer le nouveau mot de passe
diff --git a/ui/src/backoffice/components/common/MonComptePage.jsx b/ui/src/backoffice/components/common/MonComptePage.jsx
index 4b4319f1e..490c29184 100644
--- a/ui/src/backoffice/components/common/MonComptePage.jsx
+++ b/ui/src/backoffice/components/common/MonComptePage.jsx
@@ -98,6 +98,7 @@ export default class MonComptePage extends React.Component {
placeholder="Mot de passe"
onChange={event => this.setState({ current: event.target.value })}
autoComplete="current-password"
+ inputRef={this.inputRef}
/>
Nouveau mot de passe
@@ -108,7 +109,6 @@ export default class MonComptePage extends React.Component {
error={errors.passwordNotStrongEnough}
onChange={event => this.setState({ password: event.target.value })}
autoComplete="new-password"
- inputRef={this.inputRef}
/>
Confirmer le nouveau mot de passe
From 8c1895a8c1df860623348784fcaa36bf13aefe69 Mon Sep 17 00:00:00 2001
From: Elias Khallouk <147084912+EliasKhallouk@users.noreply.github.com>
Date: Thu, 25 Apr 2024 11:11:14 +0200
Subject: [PATCH 039/128] feat: accessibilite P02-P03-P06 11.1 associer label
au input
---
ui/src/backoffice/components/anonymous/LoginPage.jsx | 6 ++++--
.../components/anonymous/MotDePasseOubliePage.jsx | 3 ++-
ui/src/backoffice/components/common/MonComptePage.jsx | 9 ++++++---
.../backoffice/components/common/page/form/InputText.jsx | 4 +++-
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/ui/src/backoffice/components/anonymous/LoginPage.jsx b/ui/src/backoffice/components/anonymous/LoginPage.jsx
index 49426558d..48188cc6e 100644
--- a/ui/src/backoffice/components/anonymous/LoginPage.jsx
+++ b/ui/src/backoffice/components/anonymous/LoginPage.jsx
@@ -86,8 +86,9 @@ export default class LoginPage extends React.Component {
title="Connexion"
elements={
<>
- Identifiant
+ Identifiant
this.setState({ identifiant: event.target.value })}
@@ -97,8 +98,9 @@ export default class LoginPage extends React.Component {
inputRef={this.inputRef}
/>
- Mot de passe
+ Mot de passe
- Entrez votre identifiant
+ Entrez votre identifiant
- Mot de passe actuel
+ Mot de passe actuel
- Nouveau mot de passe
+ Nouveau mot de passe
- Confirmer le nouveau mot de passe
+ Confirmer le nouveau mot de passe
@@ -34,6 +35,7 @@ export default class InputText extends React.Component {
Date: Thu, 25 Apr 2024 11:28:49 +0200
Subject: [PATCH 040/128] feat: accessibilite P06 9.1 titre
---
.../backoffice/components/common/page/form/CenteredForm.jsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ui/src/backoffice/components/common/page/form/CenteredForm.jsx b/ui/src/backoffice/components/common/page/form/CenteredForm.jsx
index e84448eab..55ad60907 100644
--- a/ui/src/backoffice/components/common/page/form/CenteredForm.jsx
+++ b/ui/src/backoffice/components/common/page/form/CenteredForm.jsx
@@ -9,9 +9,9 @@ export const CenteredForm = props => {