Accesibilidad. Problemas de validación. Id = edit-submit , edit-mail ...

ID "edit-submit" already defined.

En las páginas o formularios (por ejemplo en la del buscador, las vistas con filtros expuestos, el formulario de contacto, el formulario de añadir comentarios...) dónde están los mismos botones o campos (botón 'submit', campo 'mail'..), es muy común encontrarse con el anterior error de validación.

Éste error significa que el id al ser un identificador único debería tener un valor diferente por cada botón.. por ello lo único que hay que hacer es darle un id distinto a cada caso. Éste cambio se puede realizar con un form_alter de drupal. Para más ayuda ver el artículo El hook form_alter.

A continuación mostramos un ejemplo de cómo eliminar el fallo de accesibilidad para las páginas dónde aparece el formulario de añadir comentarios. En este caso salen dos errores uno por el botón submit y otro por el campo mail. Para solucionarlo basta hacer lo siguiente, cambiar el id para esos casos:

<?php

function mimodulo_form_alter($form_id, &$form){
 
// Validation para el formulario de los comentarios
 
if ($form_id == 'comment_form') {
   
$form['mail']['#id'] = 'edit-mail-comment';
   
$form['submit']['#id'] = 'edit-submit-comment';
  }
}
?>