diff --git a/common/lib/xmodule/xmodule/css/sequence/display.scss b/common/lib/xmodule/xmodule/css/sequence/display.scss index 452f1a757a..eed30a9bb3 100644 --- a/common/lib/xmodule/xmodule/css/sequence/display.scss +++ b/common/lib/xmodule/xmodule/css/sequence/display.scss @@ -323,7 +323,7 @@ nav.sequence-nav { } } -div.seq_contents { +.seq_contents { display: none; } diff --git a/common/lib/xmodule/xmodule/js/src/conditional/display.coffee b/common/lib/xmodule/xmodule/js/src/conditional/display.coffee index e07338ac86..c67e778e0e 100644 --- a/common/lib/xmodule/xmodule/js/src/conditional/display.coffee +++ b/common/lib/xmodule/xmodule/js/src/conditional/display.coffee @@ -22,12 +22,12 @@ class @Conditional parentId = parentEl.attr 'id' if response.message is false - if parentId.indexOf('vert') is 0 + if parentEl.hasClass('vert') parentEl.hide() else $(element).hide() else - if parentId.indexOf('vert') is 0 + if parentEl.hasClass('vert') parentEl.show() else $(element).show() diff --git a/common/lib/xmodule/xmodule/js/src/sequence/display.coffee b/common/lib/xmodule/xmodule/js/src/sequence/display.coffee index 260176074c..d5909985de 100644 --- a/common/lib/xmodule/xmodule/js/src/sequence/display.coffee +++ b/common/lib/xmodule/xmodule/js/src/sequence/display.coffee @@ -2,6 +2,7 @@ class @Sequence constructor: (element) -> @el = $(element).find('.sequence') @contents = @$('.seq_contents') + @content_container = @$('#seq_content') @num_contents = @contents.length @id = @el.data('id') @ajaxUrl = @el.data('ajax-url') @@ -22,8 +23,8 @@ class @Sequence updatePageTitle: -> # update the page title to include the current section position_link = @link_for(@position) - if position_link and position_link.data('title') - document.title = position_link.data('title') + @base_page_title + if position_link and position_link.attr('title') + document.title = position_link.attr('title') + @base_page_title hookUpProgressEvent: -> $('.problems-wrapper').bind 'progressChanged', @updateProgress @@ -97,10 +98,12 @@ class @Sequence # Added for aborting video bufferization, see ../video/10_main.js @el.trigger "sequence:change" @mark_active new_position - @$('#seq_content').html @contents.eq(new_position - 1).text() - XBlock.initializeBlocks(@$('#seq_content')) + + current_tab = @contents.eq(new_position - 1) + @content_container.html(current_tab.text()).attr("aria-labelledby", current_tab.attr("aria-labelledby")) + + XBlock.initializeBlocks(@content_container) - MathJax.Hub.Queue(["Typeset", MathJax.Hub, "seq_content"]) # NOTE: Actually redundant. Some other MathJax call also being performed window.update_schematics() # For embedded circuit simulator exercises in 6.002x @position = new_position @@ -108,10 +111,12 @@ class @Sequence @hookUpProgressEvent() @updatePageTitle() - sequence_links = @$('#seq_content a.seqnav') + sequence_links = @content_container.find('a.seqnav') sequence_links.click @goto - @$("a.active").blur() - + # Focus on the first available xblock. + @content_container.find('.vert .xblock :first').focus() + @$("a.active").blur() + goto: (event) => event.preventDefault() if $(event.target).hasClass 'seqnav' # Links from courseware ... @@ -187,8 +192,11 @@ class @Sequence .addClass("visited") mark_active: (position) -> + # Mark the correct tab as selected, for a11y helpfulness. + @$("#sequence-list a[aria-selected='true']").attr("aria-selected", "false") # Don't overwrite class attribute to avoid changing Progress class element = @link_for(position) element.removeClass("inactive") .removeClass("visited") .addClass("active") + .attr("aria-selected", "true") diff --git a/common/templates/xblock_wrapper.html b/common/templates/xblock_wrapper.html index d8bbf20712..56f847eac6 100644 --- a/common/templates/xblock_wrapper.html +++ b/common/templates/xblock_wrapper.html @@ -1,3 +1,3 @@ -
+
${content}
diff --git a/lms/static/sass/course/courseware/_courseware.scss b/lms/static/sass/course/courseware/_courseware.scss index a05d48ea28..0e10292bc6 100644 --- a/lms/static/sass/course/courseware/_courseware.scss +++ b/lms/static/sass/course/courseware/_courseware.scss @@ -46,13 +46,13 @@ div.course-wrapper { } } - ol.vert-mod { + .vert-mod { padding: 0; margin: 0; line-height: 1.4; list-style: none; - > li { + > div { @extend .clearfix; border-bottom: 1px solid #ddd; margin-bottom: 15px; @@ -232,6 +232,12 @@ div.course-wrapper { } +.xblock { + &:focus { + outline: 0; + } +} + textarea.short-form-response { height: 200px; padding: 5px; diff --git a/lms/templates/seq_module.html b/lms/templates/seq_module.html index 1d6fabd928..f5fe848a53 100644 --- a/lms/templates/seq_module.html +++ b/lms/templates/seq_module.html @@ -3,22 +3,26 @@
- % for item in items: -
${item['content'] | h}
+ % for idx, item in enumerate(items): + % endfor -
+
diff --git a/lms/templates/vert_module.html b/lms/templates/vert_module.html index 47cf43ed71..a153773020 100644 --- a/lms/templates/vert_module.html +++ b/lms/templates/vert_module.html @@ -1,6 +1,6 @@
% for idx, item in enumerate(items): -
+
${item['content']}
% endfor