mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-31 03:14:31 +01:00 
			
		
		
		
	`hidden=true` also hides elements from screen readers. `sr-only` is now fixed for chrome. `aria-hidden` true has been added because it suits and was previosly missing. fixes #4411
		
			
				
	
	
		
			31 lines
		
	
	
		
			931 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			931 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /* Icinga Web 2 | (c) 2019 Icinga GmbH | GPLv2+ */
 | |
| 
 | |
| namespace Icinga\Web\View\Helper;
 | |
| 
 | |
| class IcingaCheckbox extends \Zend_View_Helper_FormCheckbox
 | |
| {
 | |
|     public function icingaCheckbox($name, $value = null, $attribs = null, array $checkedOptions = null)
 | |
|     {
 | |
|         if (! isset($attribs['id'])) {
 | |
|             $attribs['id'] = $this->view->protectId('icingaCheckbox_' . $name);
 | |
|         }
 | |
| 
 | |
|         $attribs['class'] = (isset($attribs['class']) ? $attribs['class'] . ' ' : '') . 'sr-only';
 | |
|         $html = parent::formCheckbox($name, $value, $attribs, $checkedOptions);
 | |
| 
 | |
|         $class = 'toggle-switch';
 | |
|         if (isset($attribs['disabled'])) {
 | |
|             $class .= ' disabled';
 | |
|         }
 | |
| 
 | |
|         return $html
 | |
|             . '<label for="'
 | |
|             . $attribs['id']
 | |
|             . '" aria-hidden="true"'
 | |
|             . ' class="'
 | |
|             . $class
 | |
|             . '"><span class="toggle-slider"></span></label>';
 | |
|     }
 | |
| }
 |