diff --git a/ecrire/lang/spip_fr.php b/ecrire/lang/spip_fr.php
index 53e85348ef791e6d4f0c00fda6dce9e9a160271c..b0286cf8492ea2c04814290a2fb6460213513541 100644
--- a/ecrire/lang/spip_fr.php
+++ b/ecrire/lang/spip_fr.php
@@ -41,6 +41,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'avis_erreur_mysql' => 'Erreur SQL',
 	'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
 	'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
+	'avis_1_erreur_saisie' => 'Il y a 1 erreur dans dans votre saisie, veuillez vérifier les informations.',
+	'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.',
 
 	// B
 	'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
diff --git a/ecrire/public/aiguiller.php b/ecrire/public/aiguiller.php
index 62ec6069a855a61249b50c961fd001e8df23ead9..f81aa7392c7215502e408d355ef1660ea97762b5 100644
--- a/ecrire/public/aiguiller.php
+++ b/ecrire/public/aiguiller.php
@@ -174,6 +174,11 @@ function traiter_formulaires_dynamiques($get=false){
 						'args'=>array('form'=>$form,'args'=>$args),
 						'data'=>$verifier?call_user_func_array($verifier,$args):array())
 					);
+		// accessibilite : si des erreurs mais pas de message general l'ajouter
+		if (count($post["erreurs_$form"]) AND !isset($post["erreurs_$form"]['message_erreur'])){
+			$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),'avis_1_erreur_saisie','avis_nb_erreurs_saisie');
+		}
+
 		// si on ne demandait qu'une verif json
 		if (_request('formulaire_action_verifier_json')){
 			include_spip('inc/json');