Ensure that all required form elements are marked as such in HTML markup

refs #8349
This commit is contained in:
Johannes Meyer 2015-02-05 13:15:18 +01:00
parent 707d977cfc
commit c5b6d7ee41
1 changed files with 19 additions and 1 deletions

View File

@ -6,6 +6,7 @@ namespace Icinga\Web;
use LogicException;
use Zend_Config;
use Zend_Form;
use Zend_Form_Element;
use Zend_View_Interface;
use Icinga\Application\Icinga;
use Icinga\Authentication\Manager;
@ -550,7 +551,24 @@ class Form extends Zend_Form
unset($el->autosubmit);
}
return $el;
return $this->ensureElementAccessibility($el);
}
/**
* Add accessibility related attributes
*
* @param Zend_Form_Element $element
*
* @return Zend_Form_Element
*/
public function ensureElementAccessibility(Zend_Form_Element $element)
{
if ($element->isRequired() && strpos(strtolower($element->getType()), 'checkbox') === false) {
$element->setAttrib('aria-required', 'true'); // ARIA
$element->setAttrib('required', ''); // HTML5
}
return $element;
}
/**