mirror of
https://github.com/pa11y/pa11y-dashboard.git
synced 2025-09-24 14:21:13 +00:00
Merge pull request #93 from nature/accessible-results
Make the Results page more accessible
This commit is contained in:
2
public/css/site.min.css
vendored
2
public/css/site.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
|
2
public/js/site.min.js
vendored
2
public/js/site.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -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/>.
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -43,3 +43,11 @@
|
||||
.affix {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
|
||||
// Cursors
|
||||
// -------------------------
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@@ -545,6 +545,7 @@
|
||||
// Wells
|
||||
// -------------------------
|
||||
@well-bg: #f5f5f5;
|
||||
@well-bg-drk: #2c3e50;
|
||||
|
||||
|
||||
// Badges
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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>
|
||||
|
@@ -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> {{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>
|
||||
|
@@ -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>
|
@@ -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> {{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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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}}
|
||||
|
Reference in New Issue
Block a user