Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
6f34bb1d
Commit
6f34bb1d
authored
Oct 24, 2013
by
Diana Huang
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1468 from edx/diana/navigation-skip-links
Add skip links to both CMS and LMS
parents
71ece15c
f2f067a3
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
88 additions
and
20 deletions
+88
-20
CHANGELOG.rst
+2
-0
cms/static/coffee/spec/main.coffee
+1
-0
cms/static/sass/_base.scss
+22
-0
cms/templates/base.html
+18
-17
common/static/js/fixtures/dashboard-fixture.html
+0
-0
common/static/js/spec/accessibility_tools_spec.js
+0
-0
common/static/js/src/accessibility_tools.js
+20
-0
common/static/js_test.yml
+2
-2
lms/static/sass/base/_base.scss
+20
-0
lms/templates/main.html
+3
-1
No files found.
CHANGELOG.rst
View file @
6f34bb1d
...
...
@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected.
Common: Add skip links for accessibility to CMS and LMS (LMS-1311)
Studio: Change course overview page, checklists, assets, and course staff management
page URLs to a RESTful interface. Also removed "\listing", which duplicated
"\index".
...
...
cms/static/coffee/spec/main.coffee
View file @
6f34bb1d
...
...
@@ -30,6 +30,7 @@ requirejs.config({
"xmodule"
:
"xmodule_js/src/xmodule"
,
"xblock"
:
"xmodule_js/common_static/coffee/src/xblock"
,
"utility"
:
"xmodule_js/common_static/js/src/utility"
,
"accessibility"
:
"xmodule_js/common_static/js/src/accessibility_tools"
,
"sinon"
:
"xmodule_js/common_static/js/vendor/sinon-1.7.1"
,
"squire"
:
"xmodule_js/common_static/js/vendor/Squire"
,
"jasmine-jquery"
:
"xmodule_js/common_static/js/vendor/jasmine-jquery"
,
...
...
cms/static/sass/_base.scss
View file @
6f34bb1d
...
...
@@ -826,10 +826,32 @@ hr.divide {
word-wrap
:
break-word
;
}
// ui - semantic + visual divider
hr
.divider
{
@extend
%cont-text-sr
;
}
// ui - skipnav
.nav-skip
{
@include
font-size
(
13
);
display
:
block
;
position
:
absolute
;
left
:
0px
;
top
:
-
(
$baseline
*
30
);
width
:
1px
;
height
:
1px
;
overflow
:
hidden
;
background
:
$white
;
border-bottom
:
1px
solid
$gray-l4
;
padding
:
(
$baseline
*
0
.75
)
(
$baseline
/
2
);
&
:focus
,
&
:active
{
position
:
static
;
width
:
auto
;
height
:
auto
;
}
}
// ====================
// js dependant
...
...
cms/templates/base.html
View file @
6f34bb1d
## -*- coding: utf-8 -*-
<
%!
from
django
.
utils
.
translation
import
ugettext
as
_
%
>
<
%
namespace
name=
'static'
file=
'static_content.html'
/>
<!doctype html>
...
...
@@ -29,9 +30,11 @@
</head>
<body
class=
"<%block name='bodyclass'></%block> hide-wip"
>
<script
type=
"text/javascript"
>
window
.
baseUrl
=
"${settings.STATIC_URL}"
;
var
require
=
{
<a
class=
"nav-skip"
href=
"#content"
>
${_("Skip to this view's content")}
</a>
<script
type=
"text/javascript"
>
window
.
baseUrl
=
"${settings.STATIC_URL}"
;
var
require
=
{
baseUrl
:
baseUrl
,
waitSeconds
:
60
,
paths
:
{
...
...
@@ -52,7 +55,6 @@ var require = {
"jquery.qtip"
:
"js/vendor/jquery.qtip.min"
,
"jquery.scrollTo"
:
"js/vendor/jquery.scrollTo-1.4.2-min"
,
"jquery.flot"
:
"js/vendor/flot/jquery.flot.min"
,
"jquery.maskedinput"
:
"js/vendor/jquery.maskedinput.min"
,
"jquery.fileupload"
:
"js/vendor/jQuery-File-Upload/js/jquery.fileupload"
,
"jquery.iframe-transport"
:
"js/vendor/jQuery-File-Upload/js/jquery.iframe-transport"
,
"jquery.inputnumber"
:
"js/vendor/html5-input-polyfills/number-polyfill"
,
...
...
@@ -69,6 +71,7 @@ var require = {
"xmodule"
:
"/xmodule/xmodule"
,
"xblock"
:
"coffee/src/xblock"
,
"utility"
:
"js/src/utility"
,
"accessibility"
:
"js/src/accessibility_tools"
,
"draggabilly"
:
"js/vendor/draggabilly.pkgd"
,
// externally hosted files
...
...
@@ -126,10 +129,6 @@ var require = {
deps
:
[
"jquery"
],
exports
:
"jQuery.fn.plot"
},
"jquery.maskedinput"
:
{
deps
:
[
"jquery"
],
exports
:
"jQuery.fn.mask"
},
"jquery.fileupload"
:
{
deps
:
[
"jquery.iframe-transport"
],
exports
:
"jQuery.fn.fileupload"
...
...
@@ -207,23 +206,23 @@ var require = {
deps
:
[
"jquery"
,
"gettext"
],
callback
:
function
()
{
// load other scripts on every page, after jquery loads
require
([
"js/base"
,
"coffee/src/main"
,
"coffee/src/logger"
,
"datepair
"
]);
require
([
"js/base"
,
"coffee/src/main"
,
"coffee/src/logger"
,
"datepair"
,
"accessibility
"
]);
// we need "datepair" because it dynamically modifies the page
// when it is loaded -- yuck!
}
};
</script>
<script
type=
"text/javascript"
src=
"${static.url("
js
/
vendor
/
require
.
js
")}"
></script>
};
</script>
<script
type=
"text/javascript"
src=
"${static.url("
js
/
vendor
/
require
.
js
")}"
></script>
## js templates
<script
id=
"system-feedback-tpl"
type=
"text/template"
>
## js templates
<script
id=
"system-feedback-tpl"
type=
"text/template"
>
<%
static
:
include
path
=
"js/system-feedback.underscore"
/>
</script>
</script>
% if context_course:
<script
type=
"text/javascript"
>
require
([
'js/models/course'
],
function
(
Course
)
{
require
([
'js/models/course'
],
function
(
Course
)
{
window
.
course
=
new
Course
({
id
:
"${context_course.id}"
,
name
:
"${context_course.display_name_with_default | h}"
,
...
...
@@ -232,7 +231,7 @@ require(['js/models/course'], function(Course) {
num
:
"${context_course.location.course | h}"
,
revision
:
"${context_course.location.revision | h}"
});
});
});
</script>
% endif
...
...
@@ -242,7 +241,9 @@ require(['js/models/course'], function(Course) {
<div
id=
"page-alert"
></div>
<div
id=
"content"
>
<
%
block
name=
"content"
></
%
block>
</div>
% if user.is_authenticated():
<script
type=
"text/javascript"
>
...
...
lms
/static/js/fixtures/dashboard-fixture.html
→
common
/static/js/fixtures/dashboard-fixture.html
View file @
6f34bb1d
File moved
lms
/static/js/spec/accessibility_tools_spec.js
→
common
/static/js/spec/accessibility_tools_spec.js
View file @
6f34bb1d
File moved
lms
/static/js/src/accessibility_tools.js
→
common
/static/js/src/accessibility_tools.js
View file @
6f34bb1d
...
...
@@ -109,3 +109,23 @@ var accessible_modal = function(trigger, closeButtonId, modalId, mainPageId) {
});
});
};
// NOTE: This is a gross hack to make the skip links work for Webkit browsers
// see http://stackoverflow.com/questions/6280399/skip-links-not-working-in-chrome/12720183#12720183
// handle things properly for clicks
$
(
'.nav-skip'
).
click
(
function
()
{
var
href
=
$
(
this
).
attr
(
'href'
);
if
(
href
)
{
$
(
href
).
attr
(
'tabIndex'
,
-
1
).
focus
();
}
});
// and for the enter key
$
(
'.nav-skip'
).
keypress
(
function
(
e
)
{
if
(
e
.
which
==
13
)
{
var
href
=
$
(
this
).
attr
(
'href'
);
if
(
href
)
{
$
(
href
).
attr
(
'tabIndex'
,
-
1
).
focus
();
}
}
});
common/static/js_test.yml
View file @
6f34bb1d
...
...
@@ -69,6 +69,6 @@ spec_paths:
# You can access these within JavaScript code
# at the URL: document.location.href + "/include/"
# plus the path to the file (relative to this YAML file)
#
fixture_paths:
# - path/to/fixture
fixture_paths
:
-
js/fixtures
lms/static/sass/base/_base.scss
View file @
6f34bb1d
...
...
@@ -285,3 +285,23 @@ mark {
#feedback_form
textarea
[
name
=
"details"
]
{
height
:
150px
;
}
// ui - skipnav
.nav-skip
{
display
:
block
;
position
:
absolute
;
left
:
0px
;
top
:
-
(
$baseline
*
30
);
width
:
1px
;
height
:
1px
;
overflow
:
hidden
;
background
:
$white
;
border-bottom
:
1px
solid
$border-color-4
;
padding
:
(
$baseline
*
0
.75
)
(
$baseline
/
2
);
&
:focus
,
&
:active
{
position
:
static
;
width
:
auto
;
height
:
auto
;
}
}
lms/templates/main.html
View file @
6f34bb1d
...
...
@@ -78,6 +78,8 @@
</head>
<body
class=
"<%block name='bodyclass'/>"
>
<a
class=
"nav-skip"
href=
"#content"
>
${_("Skip to this view's content")}
</a>
<
%
include
file=
"mathjax_accessible.html"
/>
% if theme_enabled():
...
...
@@ -86,7 +88,7 @@
<
%
include
file=
"navigation.html"
/>
% endif
<section
class=
"content-wrapper"
>
<section
class=
"content-wrapper"
id=
"content"
>
${self.body()}
<
%
block
name=
"bodyextra"
/>
</section>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment