From 3d0fbc833de4470a58617c4759dc1efc8d824f80 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 12 Feb 2015 13:44:01 +0100 Subject: [PATCH 1/4] Hide the Icinga logo from screen readers refs #8360 --- application/layouts/scripts/body.phtml | 2 +- application/views/scripts/authentication/login.phtml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/application/layouts/scripts/body.phtml b/application/layouts/scripts/body.phtml index e5e6ed9da..9f0b78ce9 100644 --- a/application/layouts/scripts/body.phtml +++ b/application/layouts/scripts/body.phtml @@ -44,7 +44,7 @@ if ($notifications->hasMessages()) { } } ?> - diff --git a/application/views/scripts/authentication/login.phtml b/application/views/scripts/authentication/login.phtml index 805196b96..db0038bf2 100644 --- a/application/views/scripts/authentication/login.phtml +++ b/application/views/scripts/authentication/login.phtml @@ -1,7 +1,7 @@
From 9232c5cf22a9fb4dd6a17dc3ab710902509fd9f7 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 12 Feb 2015 13:47:00 +0100 Subject: [PATCH 2/4] Add aria-hidden="true" to all icons that exist only for design reasons refs #8360 --- .../views/scripts/authentication/login.phtml | 4 ++-- .../scripts/config/authentication/reorder.phtml | 2 +- application/views/scripts/config/resource.phtml | 2 +- .../Icinga/Web/Form/Decorator/NoScriptApply.php | 2 +- .../Icinga/Web/Menu/ForeignMenuItemRenderer.php | 2 +- .../Icinga/Web/Menu/MonitoringMenuItemRenderer.php | 4 ++-- library/Icinga/Web/MenuRenderer.php | 6 ++++-- library/Icinga/Web/Widget/Tab.php | 8 ++------ .../forms/Command/Object/CheckNowCommandForm.php | 3 ++- .../views/scripts/alertsummary/index.phtml | 6 +++--- .../application/views/scripts/config/index.phtml | 4 ++-- .../application/views/scripts/hosts/show.phtml | 14 +++++++------- .../application/views/scripts/list/comments.phtml | 2 +- .../views/scripts/list/contactgroups.phtml | 2 +- .../application/views/scripts/list/contacts.phtml | 2 +- .../partials/command/objects-command-form.phtml | 4 ++-- .../application/views/scripts/services/show.phtml | 14 +++++++------- .../scripts/show/components/acknowledgement.phtml | 2 +- .../scripts/show/components/checkstatistics.phtml | 2 +- .../views/scripts/show/components/command.phtml | 2 +- .../views/scripts/show/components/comments.phtml | 2 +- .../views/scripts/show/components/contacts.phtml | 4 ++-- .../views/scripts/show/components/downtime.phtml | 2 +- .../views/scripts/show/components/hostgroups.phtml | 2 +- .../scripts/show/components/servicegroups.phtml | 2 +- public/css/icinga/login.less | 2 +- 26 files changed, 50 insertions(+), 51 deletions(-) diff --git a/application/views/scripts/authentication/login.phtml b/application/views/scripts/authentication/login.phtml index db0038bf2..ebfa1ba2b 100644 --- a/application/views/scripts/authentication/login.phtml +++ b/application/views/scripts/authentication/login.phtml @@ -6,7 +6,7 @@
-

translate( 'It appears that you did not configure Icinga Web 2 yet so it\'s not possible to log in without any defined ' . 'authentication method. Please define a authentication method by following the instructions in the' @@ -17,7 +17,7 @@ '' ); ?>

-

translate( +

translate( 'You\'re currently not authenticated using any of the web server\'s authentication mechanisms.' . ' Make sure you\'ll configure such, otherwise you\'ll not be able to login.' ); ?>

diff --git a/application/views/scripts/config/authentication/reorder.phtml b/application/views/scripts/config/authentication/reorder.phtml index 807f80efe..83f285285 100644 --- a/application/views/scripts/config/authentication/reorder.phtml +++ b/application/views/scripts/config/authentication/reorder.phtml @@ -4,7 +4,7 @@

- icon('plus'); ?>translate('Create A New Authentication Backend'); ?> + icon('plus', null, array('aria-hidden' => 'true')); ?>translate('Create A New Authentication Backend'); ?>

diff --git a/application/views/scripts/config/resource.phtml b/application/views/scripts/config/resource.phtml index f93b2af82..384993f52 100644 --- a/application/views/scripts/config/resource.phtml +++ b/application/views/scripts/config/resource.phtml @@ -4,7 +4,7 @@

- icon('plus'); ?> translate('Create A New Resource'); ?> + icon('plus', null, array('aria-hidden' => 'true')); ?> translate('Create A New Resource'); ?>

diff --git a/library/Icinga/Web/Form/Decorator/NoScriptApply.php b/library/Icinga/Web/Form/Decorator/NoScriptApply.php index fbc96756b..2ea810e16 100644 --- a/library/Icinga/Web/Form/Decorator/NoScriptApply.php +++ b/library/Icinga/Web/Form/Decorator/NoScriptApply.php @@ -25,7 +25,7 @@ class NoScriptApply extends Zend_Form_Decorator_Abstract { if ($content) { $content .= ''; } diff --git a/library/Icinga/Web/Menu/ForeignMenuItemRenderer.php b/library/Icinga/Web/Menu/ForeignMenuItemRenderer.php index 91b31d23d..2ed418bf3 100644 --- a/library/Icinga/Web/Menu/ForeignMenuItemRenderer.php +++ b/library/Icinga/Web/Menu/ForeignMenuItemRenderer.php @@ -16,7 +16,7 @@ class ForeignMenuItemRenderer implements MenuItemRenderer { return sprintf( '%s%s', $menu->getUrl() ?: '#', - $menu->getIcon() ? ' ' : '', + $menu->getIcon() ? ' ' : '', htmlspecialchars($menu->getTitle()) ); } diff --git a/library/Icinga/Web/Menu/MonitoringMenuItemRenderer.php b/library/Icinga/Web/Menu/MonitoringMenuItemRenderer.php index cf1673b7a..33e1c6a60 100644 --- a/library/Icinga/Web/Menu/MonitoringMenuItemRenderer.php +++ b/library/Icinga/Web/Menu/MonitoringMenuItemRenderer.php @@ -80,7 +80,7 @@ class MonitoringMenuItemRenderer implements MenuItemRenderer { } if ($menu->getIcon() && strpos($menu->getIcon(), '.') === false) { return sprintf( - '%s %s', + '%s %s', $badge, $menu->getUrl() ?: '#', $menu->getIcon(), @@ -92,7 +92,7 @@ class MonitoringMenuItemRenderer implements MenuItemRenderer { '%s%s%s', $badge, $menu->getUrl() ?: '#', - $menu->getIcon() ? ' ' : '', + $menu->getIcon() ? ' ' : '', htmlspecialchars($menu->getTitle()) ); } diff --git a/library/Icinga/Web/MenuRenderer.php b/library/Icinga/Web/MenuRenderer.php index b201c265a..78e910f61 100644 --- a/library/Icinga/Web/MenuRenderer.php +++ b/library/Icinga/Web/MenuRenderer.php @@ -115,7 +115,7 @@ class MenuRenderer extends RecursiveIteratorIterator } if ($child->getIcon() && strpos($child->getIcon(), '.') === false) { return sprintf( - '%s', + '%s', $child->getUrl() ?: '#', $child->getIcon(), htmlspecialchars($child->getTitle()) @@ -124,7 +124,9 @@ class MenuRenderer extends RecursiveIteratorIterator return sprintf( '%s%s', $child->getUrl() ?: '#', - $child->getIcon() ? ' ' : '', + $child->getIcon() + ? ' ' + : '', htmlspecialchars($child->getTitle()) ); } diff --git a/library/Icinga/Web/Widget/Tab.php b/library/Icinga/Web/Widget/Tab.php index 5da6a811c..2d24d5f40 100644 --- a/library/Icinga/Web/Widget/Tab.php +++ b/library/Icinga/Web/Widget/Tab.php @@ -215,13 +215,9 @@ class Tab extends AbstractWidget if ($this->icon !== null) { if (strpos($this->icon, '.') === false) { - if ($tagParams && array_key_exists('class', $tagParams)) { - $tagParams['class'] .= ' icon-' . $this->icon; - } else { - $tagParams['class'] = 'icon-' . $this->icon; - } + $caption = $view->icon($this->icon, null, array('aria-hidden' => 'true')) . $caption; } else { - $caption = $view->img($this->icon, array('class' => 'icon')) . $caption; + $caption = $view->img($this->icon, array('aria-hidden' => 'true', 'class' => 'icon')) . $caption; } } if ($this->url !== null) { diff --git a/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php b/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php index 1e6e4d64d..1a39574f6 100644 --- a/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php @@ -35,7 +35,8 @@ class CheckNowCommandForm extends ObjectsCommandForm 'ignore' => true, 'type' => 'submit', 'value' => $this->translate('Check now'), - 'label' => ' ' . $this->translate('Check now'), + 'label' => ' ' + . $this->translate('Check now'), 'decorators' => array('ViewHelper'), 'escape' => false, 'class' => 'link-like' diff --git a/modules/monitoring/application/views/scripts/alertsummary/index.phtml b/modules/monitoring/application/views/scripts/alertsummary/index.phtml index dbfff6433..b71456ab6 100644 --- a/modules/monitoring/application/views/scripts/alertsummary/index.phtml +++ b/modules/monitoring/application/views/scripts/alertsummary/index.phtml @@ -42,11 +42,11 @@ trend->trend === 'up'): ?> - icon('up-open'); ?> + icon('up-open', null, array('aria-hidden' => 'true')); ?> trend->trend === 'unchanged'): ?> - icon('right-open'); ?> + icon('right-open', null, array('aria-hidden' => 'true')); ?> - icon('down-open'); ?> + icon('down-open', null, array('aria-hidden' => 'true')); ?> diff --git a/modules/monitoring/application/views/scripts/config/index.phtml b/modules/monitoring/application/views/scripts/config/index.phtml index b1729f9b1..a0f922ba4 100644 --- a/modules/monitoring/application/views/scripts/config/index.phtml +++ b/modules/monitoring/application/views/scripts/config/index.phtml @@ -6,7 +6,7 @@
@@ -38,7 +38,7 @@

translate('Monitoring Instances') ?>

- icon('plus'); ?> translate('Create New Instance'); ?> + icon('plus', null, array('aria-hidden' => 'true')); ?> translate('Create New Instance'); ?>

diff --git a/modules/monitoring/application/views/scripts/hosts/show.phtml b/modules/monitoring/application/views/scripts/hosts/show.phtml index 5e4674523..0da62ad77 100644 --- a/modules/monitoring/application/views/scripts/hosts/show.phtml +++ b/modules/monitoring/application/views/scripts/hosts/show.phtml @@ -31,21 +31,21 @@ @@ -71,7 +71,7 @@ ), $unhandledCount ) ?>"> - icon('plug') ?> + icon('plug', null, array('aria-hidden' => 'true')) ?> translatePlural( 'Schedule downtime for unhandled host problem', @@ -91,7 +91,7 @@ ), $unhandledCount ) ?>"> - icon('ok') ?> + icon('ok', null, array('aria-hidden' => 'true')) ?> translatePlural( 'Acknowledge unhandled host problem', @@ -133,7 +133,7 @@ ), $inDowntimeCount ) ?>"> - icon('plug') ?> + icon('plug', null, array('aria-hidden' => 'true')) ?> translatePlural( 'List %u host currently in downtime', @@ -158,7 +158,7 @@ ), $commentCount ) ?>"> - icon('comment') ?> + icon('comment', null, array('aria-hidden' => 'true')) ?> translatePlural( 'List %u host comment', diff --git a/modules/monitoring/application/views/scripts/list/comments.phtml b/modules/monitoring/application/views/scripts/list/comments.phtml index 857017b4d..7d8fe4646 100644 --- a/modules/monitoring/application/views/scripts/list/comments.phtml +++ b/modules/monitoring/application/views/scripts/list/comments.phtml @@ -59,7 +59,7 @@ link()->host($comment->host, $comment->host_display_name) ?>
- icon('comment'); ?> author) + icon('comment', null, array('aria-hidden' => 'true')); ?> author) ? '[' . $comment->author . '] ' : ''; ?>escape($comment->comment); ?> diff --git a/modules/monitoring/application/views/scripts/list/contactgroups.phtml b/modules/monitoring/application/views/scripts/list/contactgroups.phtml index f25548c52..99d070c31 100644 --- a/modules/monitoring/application/views/scripts/list/contactgroups.phtml +++ b/modules/monitoring/application/views/scripts/list/contactgroups.phtml @@ -20,7 +20,7 @@ foreach ($groupData as $groupName => $groupInfo): ?> - - + + diff --git a/modules/monitoring/application/views/scripts/services/show.phtml b/modules/monitoring/application/views/scripts/services/show.phtml index 229d63f0d..44951735a 100644 --- a/modules/monitoring/application/views/scripts/services/show.phtml +++ b/modules/monitoring/application/views/scripts/services/show.phtml @@ -19,21 +19,21 @@ @@ -59,7 +59,7 @@ ), $unhandledCount ) ?>"> - icon('plug') ?> + icon('plug', null, array('aria-hidden' => 'true')) ?> translatePlural( 'Schedule downtime for unhandled service problem', @@ -79,7 +79,7 @@ ), $unhandledCount ) ?>"> - icon('ok') ?> + icon('ok', null, array('aria-hidden' => 'true')) ?> translatePlural( 'Acknowledge unhandled service problem', @@ -119,7 +119,7 @@ $inDowntimeCount ), $inDowntimeCount) ?>"> - icon('plug') ?> + icon('plug', null, array('aria-hidden' => 'true')) ?> translatePlural( 'List %u service currently in downtime', @@ -143,7 +143,7 @@ ), $commentCount ) ?>"> - icon('comment') ?> + icon('comment', null, array('aria-hidden' => 'true')) ?> translatePlural( 'List %u service comment', diff --git a/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml b/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml index 8da35590f..c5c2a5667 100644 --- a/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml +++ b/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml @@ -36,7 +36,7 @@ if ($object->acknowledged): ?> } ?> - icon('ok') ?> translate('Acknowledge') ?> + icon('ok', null, array('aria-hidden' => 'true')) ?> translate('Acknowledge') ?> getType() === $object::TYPE_HOST) { } ?> - icon('reschedule') ?> + icon('reschedule', null, array('aria-hidden' => 'true')) ?> translate('Reschedule') ?> diff --git a/modules/monitoring/application/views/scripts/show/components/command.phtml b/modules/monitoring/application/views/scripts/show/components/command.phtml index a74b5b884..1041b7ff6 100644 --- a/modules/monitoring/application/views/scripts/show/components/command.phtml +++ b/modules/monitoring/application/views/scripts/show/components/command.phtml @@ -22,7 +22,7 @@ $command = array_shift($parts); ); } ?> - icon('reply') ?> + icon('reply', null, array('aria-hidden' => 'true')) ?> translate('Process check result') ?> diff --git a/modules/monitoring/application/views/scripts/show/components/comments.phtml b/modules/monitoring/application/views/scripts/show/components/comments.phtml index a6503a70b..9973ff037 100644 --- a/modules/monitoring/application/views/scripts/show/components/comments.phtml +++ b/modules/monitoring/application/views/scripts/show/components/comments.phtml @@ -16,7 +16,7 @@ } ?> - icon('comment') ?> + icon('comment', null, array('aria-hidden' => 'true')) ?> translate('Add comment') ?> contacts)) { printf( "\n", $this->translate('Contacts'), - $this->icon('user'), + $this->icon('user', null, array('aria-hidden' => 'true')), implode(', ', $list) ); @@ -31,7 +31,7 @@ if (! empty($object->contactgroups)) { printf( "\n", $this->translate('Contactgroups'), - $this->icon('users'), + $this->icon('users', null, array('aria-hidden' => 'true')), implode(', ', $list) ); diff --git a/modules/monitoring/application/views/scripts/show/components/downtime.phtml b/modules/monitoring/application/views/scripts/show/components/downtime.phtml index 4aa1e21c1..f838b3d61 100644 --- a/modules/monitoring/application/views/scripts/show/components/downtime.phtml +++ b/modules/monitoring/application/views/scripts/show/components/downtime.phtml @@ -16,7 +16,7 @@ } ?> - icon('plug') ?> + icon('plug', null, array('aria-hidden' => 'true')) ?> translate('Schedule downtime') ?> hostgroups as $name => $alias) { printf( "\n", $this->translate('Hostgroups'), - $this->icon('host'), + $this->icon('host', null, array('aria-hidden' => 'true')), implode(', ', $list) ); diff --git a/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml b/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml index 50b71d839..01de6d71c 100644 --- a/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml +++ b/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml @@ -12,7 +12,7 @@ foreach ($object->servicegroups as $name => $alias) { printf( "\n", $this->translate('Servicegroups'), - $this->icon('services'), + $this->icon('services', null, array('aria-hidden' => 'true')), implode(', ', $list) ); diff --git a/public/css/icinga/login.less b/public/css/icinga/login.less index d09a9f6e0..f6144bd68 100644 --- a/public/css/icinga/login.less +++ b/public/css/icinga/login.less @@ -131,7 +131,7 @@ height: 2.2em; margin: 0 auto 2.5em; - span.icon-info { + i.icon-info { float: left; height: 100%; } From 1d6c65f7fcf7ab6ec76149618f0a7800477eb86e Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 12 Feb 2015 13:47:50 +0100 Subject: [PATCH 3/4] Move the login form's heading above the authentication warnings --- .../views/scripts/authentication/login.phtml | 13 +++---------- public/css/icinga/login.less | 2 +- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/application/views/scripts/authentication/login.phtml b/application/views/scripts/authentication/login.phtml index ebfa1ba2b..f40f5c4e0 100644 --- a/application/views/scripts/authentication/login.phtml +++ b/application/views/scripts/authentication/login.phtml @@ -5,6 +5,7 @@
+

translate('Welcome to Icinga Web 2'); ?>

translate( @@ -22,15 +23,7 @@ . ' Make sure you\'ll configure such, otherwise you\'ll not be able to login.' ); ?>

-

translate('Welcome to Icinga Web 2'); ?>

- errorInfo)): ?> -
- errorInfo ?> -
- - form ?> - + form ?> +
diff --git a/public/css/icinga/login.less b/public/css/icinga/login.less index f6144bd68..0211fdc35 100644 --- a/public/css/icinga/login.less +++ b/public/css/icinga/login.less @@ -129,7 +129,7 @@ p.info-box { width: 50%; height: 2.2em; - margin: 0 auto 2.5em; + margin: 2em auto 2.5em; i.icon-info { float: left; From d37129dfed21b5ce788cba6e485142f95c9a552c Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 12 Feb 2015 13:48:20 +0100 Subject: [PATCH 4/4] Remove the old and redundant config/show-configuration view script --- .../scripts/config/show-configuration.phtml | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 modules/monitoring/application/views/scripts/config/show-configuration.phtml diff --git a/modules/monitoring/application/views/scripts/config/show-configuration.phtml b/modules/monitoring/application/views/scripts/config/show-configuration.phtml deleted file mode 100644 index 4cd01441c..000000000 --- a/modules/monitoring/application/views/scripts/config/show-configuration.phtml +++ /dev/null @@ -1,28 +0,0 @@ -
-

Saving "escape($this->file); ?>" failed

-
-

- Your escape($this->file); ?> configuration couldn't be stored (error: "exceptionMessage; ?>").
- This could have one or more of the following reasons: -

-
    -
  • You don't have file-system permissions to write to the escape($this->file); ?> file
  • -
  • Something went wrong while writing the file
  • -
  • There's an application error preventing you from persisting the configuration
  • -
-
- -

- Details can be seen in your application log (if you don't have access to this file, call your administrator in this case). -
- In case you can access the configuration file (config/escape($this->file); ?>) by yourself, you can open it and - insert the config manually: - -

-

-

-        
-escape($this->iniConfigurationString); ?>
-        
-    
-

\ No newline at end of file
icon('host'); ?> translate('Host'); ?>icon('conf'); ?> translate('Service'); ?>icon('host', null, array('aria-hidden' => 'true')); ?> translate('Host'); ?>icon('conf', null, array('aria-hidden' => 'true')); ?> translate('Service'); ?>
%s%s %s
%s%s %s
%s%s %s
%s%s %s