Merge pull request #93 from nature/accessible-results

Make the Results page more accessible
This commit is contained in:
Alex Kilgour
2016-01-29 15:41:00 +00:00
15 changed files with 153 additions and 103 deletions

File diff suppressed because one or more lines are too long

View File

@@ -61,16 +61,32 @@ $(document).ready(function(){
};
// Toggle appearance of lists of error/warnings/notices
expandLink.click( function(){
$(this).parent().next().slideToggle('slow', function(){});
if ($(this).parent().hasClass('showing')) {
$(this).html('+');
expandLink.click( function(){
$(this).next().slideToggle('slow', function(){});
if ($(this).hasClass('showing')) {
$(this).find('span.expander').html('+');
$(this).attr('aria-expanded', false);
}
else {
$(this).html('-');
$(this).find('span.expander').html('-');
$(this).attr('aria-expanded', true);
}
$(this).parent().toggleClass('showing');
$(this).toggleClass('showing');
});
$(document).on('keydown.lists', '[data-role="expander"]', function (e) {
var $this = $(this);
var k = e.which || e.keyCode;
if (!/(13|32)/.test(k)) {
return;
}
if (k === 13 || k === 32) {
$this.click();
}
e.preventDefault();
e.stopPropagation();
});
// Back to top links
toTopLinks.click( function(e){
@@ -94,7 +110,7 @@ $(document).ready(function(){
target = $(this).attr('href');
animateSection($(target), -25);
if (!$(target).hasClass('showing')) {
$(target).children('[data-role="expander"]').click();
$(target).click();
}
});

File diff suppressed because one or more lines are too long

View File

@@ -1,15 +1,15 @@
// This file is part of pa11y-dashboard.
//
//
// pa11y-dashboard is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
//
// pa11y-dashboard is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
//
// You should have received a copy of the GNU General Public License
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.

View File

@@ -1,15 +1,15 @@
// This file is part of pa11y-dashboard.
//
//
// pa11y-dashboard is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
//
// pa11y-dashboard is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
//
// You should have received a copy of the GNU General Public License
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
@@ -252,7 +252,7 @@
word-wrap:break-word;
}
.h4 {
margin-bottom:22px;
margin-bottom:6px;
}
}
.date {
@@ -347,19 +347,35 @@ ul.date-links {
z-index:10;
}
.date-selector {
margin-top:-125px;
margin-bottom:5px;
.btn-group > .btn {
float:none;
.show-stats {
margin-top: 0;
}
&.single-result {
margin-top:-52px;
.show-stats {
display:none;
}
h2 {
margin-top: 0;
}
.dates-list {
margin: 0;
padding: 0;
list-style-type: none;
}
.dates-list > li {
list-style-type: none;
padding: 0;
margin: 0;
}
.dates-list a {
color: #fff;
text-decoration: underline;
}
}
.single-result .date-selector-row {
display: none;
}
/* Graph */
@@ -368,11 +384,11 @@ ul.date-links {
width:100%;
}
.graph-spacer {
margin-bottom:60px;
padding-bottom:60px;
margin-bottom:30px;
padding-bottom:30px;
}
.graph-table {
margin-bottom:50px;
margin-bottom:0;
td {
width:25%;
@@ -478,3 +494,21 @@ ul.date-links {
z-index:-1;
}
}
/* inline link list */
.inline-list {
display: inline-block;
margin: 0;
padding: 0;
}
.inline-list > li {
display: inline-block;
border-right: 1px solid @dropdown-fallback-border; // IE8 fallback
border-right: 1px solid @dropdown-border;
padding: 0 4px 0 0;
margin: 0 4px 0 0;
}
.inline-list + div.date {
display: inline-block;
}

View File

@@ -43,3 +43,11 @@
.affix {
position: fixed;
}
// Cursors
// -------------------------
.pointer {
cursor: pointer;
}

View File

@@ -545,6 +545,7 @@
// Wells
// -------------------------
@well-bg: #f5f5f5;
@well-bg-drk: #2c3e50;
// Badges

View File

@@ -27,3 +27,11 @@
padding: 9px;
border-radius: @border-radius-small;
}
// Dark well
.dark-well {
background-color: @well-bg-drk;
border-color: darken(@well-bg-drk, 7%);
color: #fff;
}

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -18,7 +18,7 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
<div class="graph-container graph-spacer ruled">
<div data-role="graph" class="graph"></div>
<div class="row">
<ul class="list-unstyled floated-list series-checkboxes clearfix crunch-bottom col-md-3 col-sm-6 col-xs-12" data-role="series-checkboxes"></ul>
<ul class="list-unstyled floated-list series-checkboxes clearfix crunch-bottom col-md-3 col-sm-6 col-xs-12 pull-right" data-role="series-checkboxes"></ul>
</div>
<button data-role='zoom-reset' class="btn btn-xs btn-primary pull-right btn-reset hidden">Reset Zoom <i class="glyphicon glyphicon-zoom-out"></i></button>
</div>

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -16,7 +16,7 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
}}
<div class="col-md-12">
<div class="ruled task-header">
<div class="row clearfix">
<div class="row clearfix task-header">
<div class="col-md-12">
<div class="h3 crunch well-med well pull-right"><span class="glyphicon glyphicon-calendar"></span>&nbsp;{{date-format mainResult.date format="DD MMM YYYY"}}</div>
<h1 class="h2 crunch-top">{{task.name}}</h1>
@@ -24,4 +24,4 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,35 +0,0 @@
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
pa11y-dashboard is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
}}
<div class="col-md-12 zfix">
<div class="row">
<div class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3">
<div class="date-selector{{#if hasOneResult}} single-result{{/if}}">
<h4 class="show-stats text-center">Select a date to show stats for</h4>
<ul class="list-unstyled">
<li class="btn-group block-level clearfix">
<button data-toggle="dropdown" class="btn-full-width btn btn-primary dropdown-toggle" type="button">{{date-format task.lastResult.date format="DD MMM YYYY"}} <span class="glyphicon glyphicon-calendar"></span> <span class="caret"></span></button>
<ul role="navigation" class="date-links list-group hidden" data-role="date-select-dropdown-menu">
{{#results}}
<li><a class="list-group-item text-center" href="{{href}}">{{date-format date format="DD MMM YYYY"}}</a></li>
{{/results}}
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -14,9 +14,10 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
}}
<div class="col-md-3 aside">
<div class="row">
<div id="top" class="col-md-12 col-sm-6 col-xs-12">
<div class="col-md-12 col-sm-6 col-xs-12">
<ul data-role="task-list" class="clearfix list-unstyled floated-list task-stats">
{{#mainResult}}
<li class="danger"><a href="#errors" title="See errors">{{count.error}}<span class="stat-type">Errors</span></a></li>
@@ -40,6 +41,25 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
</div>
</div>
</div>
<div class="row date-selector-row">
<div id="top" class="col-md-12 col-sm-12 clearfix">
<div class="well dark-well">
<div class="date-selector">
<div class="btn-group block-level clearfix">
<h2 class="h4">
<span class="glyphicon glyphicon-calendar"></span>&nbsp;&nbsp;{{date-format task.lastResult.date format="DD MMM YYYY"}}
</h2>
<h3 class="h5 show-stats">Select a date to show stats for:</h3>
<ul role="navigation" class="dates-list">
{{#results}}
<li><a class="" href="{{href}}">{{date-format date format="DD MMM YYYY"}}</a></li>
{{/results}}
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 clearfix">
<div class="well">
@@ -50,13 +70,13 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
</div>
</div>
<div class="col-md-9">
<div class="col-md-9" data-role="expandable-results" role="main">
{{#if mainResult.count.error}}
<div class="heading label-danger showing first" id="errors" data-test="task-errors">
<span data-role="expander" class="pull-right expander"> - </span>
<div class="heading label-danger pointer showing first" id="errors" data-test="task-errors" data-role="expander" role="button" tabindex="0" aria-expanded="true" aria-controls="errors-list">
<span class="pull-right expander"> - <span class="hide">(close panel)</span></span>
Errors ( {{mainResult.count.error}} )
</div>
<div class="task-danger tasks-list collapse clearfix in">
<div class="task-danger tasks-list collapse clearfix in" id="errors-list">
<ul class="list-unstyled">
{{#mainResult.errors}}
@@ -81,11 +101,11 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
{{/if}}
{{#if mainResult.count.warning}}
<div class="heading label-warning" id="warnings" data-test="task-warnings">
<span data-role="expander" class="pull-right expander"> + </span>
<div class="heading label-warning pointer" id="warnings" data-test="task-warnings" data-role="expander" role="button" tabindex="0" aria-expanded="false" aria-controls="warnings-list">
<span class="pull-right expander"> + <span class="hide">(open panel)</span></span>
Warnings ( {{mainResult.count.warning}} )
</div>
<div class="task-warning tasks-list collapse clearfix">
<div class="task-warning tasks-list collapse clearfix" id="warnings-list">
<ul class="list-unstyled">
{{#mainResult.warnings}}
<li>
@@ -110,11 +130,11 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
{{/if}}
{{#if mainResult.count.notice}}
<div class="heading label-info" id="notices" data-test="task-notices">
<span data-role="expander" class="pull-right expander"> + </span>
<div class="heading label-info pointer" id="notices" data-test="task-notices" data-role="expander" role="button" tabindex="0" aria-expanded="false" aria-controls="notices-list">
<span class="pull-right expander"> + <span class="hide">(open panel)</span></span>
Notices ( {{mainResult.count.notice}} )
</div>
<div class="task-info tasks-list collapse clearfix">
<div class="task-info tasks-list collapse clearfix" id="notices-list">
<ul class="list-unstyled">
{{#mainResult.notices}}
<li>
@@ -138,11 +158,11 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
{{/if}}
{{#if mainResult.ignore.length}}
<div class="heading label-default">
<span data-role="expander" class="pull-right expander"> + </span>
<div class="heading label-default pointer" id="ignore" data-role="expander" role="button" tabindex="0" aria-expanded="false" aria-controls="ignore-list">
<span class="pull-right expander"> + <span class="hide">(open panel)</span></span>
Ignored Rules ( {{mainResult.ignore.length}} )
</div>
<div class="task-default tasks-list collapse clearfix">
<div class="task-default tasks-list collapse clearfix" id="ignore-list">
<ul class="list-unstyled">
{{#mainResult.ignore}}
<li>

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -17,27 +17,25 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
<div class="col-md-12 zfix">
<div class="ruled task-header">
<div class="row clearfix">
<div class="col-md-9 col-sm-9">
<div class="col-md-12">
<h1 class="h2 crunch-top">{{task.name}}</h1>
<p class="h4">{{simplify-url task.url}}<span class="h5"> ({{task.standard}})</span></p>
</div>
<div class="col-md-3 col-sm-3 text-right run-details">
{{#unless readonly}}
<div class="btn-group">
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">Options <span class="caret"></span></button>
<ul class="dropdown-menu pull-right" role="menu">
<div class="run-details task-header clearfix">
<div class="col-md-12 clearfix">
{{#unless readonly}}
<ul class="inline-list" role="menu">
<li><a href="/{{task.id}}/edit">Edit this task</a></li>
<li><a href="/{{task.id}}/delete">Delete this task</a></li>
<li class="divider"></li>
<li><a href="{{task.hrefRun}}" data-test="run-task">Run pa11y</a></li>
</ul>
</div>
{{/unless}}
{{#if mainResult}}
<div class="date">Last run : {{date-format mainResult.date format="DD MMM YYYY"}}</div>
{{else}}
<div class="date">Not yet run</div>
{{/if}}
{{/unless}}
{{#if mainResult}}
<div class="date">Last run: <strong>{{date-format mainResult.date format="DD MMM YYYY"}}</strong></div>
{{else}}
<div class="date">Not yet run</div>
{{/if}}
</div>
</div>
</div>
</div>

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -21,4 +21,6 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
{{> result-header}}
{{> result}}
<div class="single-result">
{{> result}}
</div>

View File

@@ -1,4 +1,4 @@
{{!
{{!
This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -76,8 +76,6 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
{{> graph}}
{{/unless}}
{{> result-selector}}
{{/if}}
{{#if mainResult}}