From a6797899da9e04ce3cee90fe9d5beca23be680f4 Mon Sep 17 00:00:00 2001 From: "Dave St.Germain" Date: Fri, 31 Jan 2014 16:31:56 -0500 Subject: [PATCH] Removed inappropriate section tags. Because screen readers announce each section, they should not be used unless they are actually defining meaningful sections. --- cms/djangoapps/contentstore/features/component.py | 10 +++++----- .../features/component_settings_editor_helpers.py | 4 ++-- .../contentstore/features/static-pages.py | 4 ++-- common/djangoapps/xmodule_modifiers.py | 1 + common/lib/xmodule/xmodule/css/capa/display.scss | 6 +++--- .../xmodule/css/combinedopenended/display.scss | 2 +- .../lib/xmodule/xmodule/css/sequence/display.scss | 2 +- .../xmodule/xmodule/js/fixtures/annotatable.html | 6 +++--- .../xmodule/js/fixtures/problem_content.html | 13 ++++++------- .../xmodule/js/spec/capa/display_spec.coffee | 10 +++++----- .../xmodule/xmodule/js/src/capa/display.coffee | 10 +++++----- .../lib/xmodule/xmodule/js/src/poll/poll_main.js | 2 +- .../xmodule/xmodule/js/src/vertical/edit.coffee | 2 +- .../xmodule/xmodule/js/src/wrapper/edit.coffee | 2 +- common/templates/xblock_wrapper.html | 4 ++-- common/test/acceptance/pages/lms/course_nav.py | 2 +- lms/djangoapps/courseware/features/annotatable.py | 2 +- lms/djangoapps/courseware/features/problems.py | 4 ++-- .../courseware/tests/test_module_render.py | 4 ++-- .../sass/course/courseware/_courseware.scss | 4 ++-- lms/static/sass/course/courseware/_sidebar.scss | 2 +- lms/static/sass/ie.scss | 2 +- lms/templates/courseware/courseware.html | 10 +++++----- lms/templates/poll.html | 4 ++-- lms/templates/problem.html | 15 +++++++-------- lms/templates/problem_ajax.html | 2 +- .../registration/password_reset_complete.html | 12 ++++++------ lms/templates/seq_module.html | 8 ++++---- lms/templates/vert_module.html | 8 ++++---- 29 files changed, 78 insertions(+), 79 deletions(-) diff --git a/cms/djangoapps/contentstore/features/component.py b/cms/djangoapps/contentstore/features/component.py index 59a1a301b5..a00c43dadb 100644 --- a/cms/djangoapps/contentstore/features/component.py +++ b/cms/djangoapps/contentstore/features/component.py @@ -28,7 +28,7 @@ def see_a_single_step_component(step): for step_hash in step.hashes: component = step_hash['Component'] assert_in(component, ['Discussion', 'Video']) - component_css = 'section.xmodule_{}Module'.format(component) + component_css = 'div.xmodule_{}Module'.format(component) assert_true(world.is_css_present(component_css), "{} couldn't be found".format(component)) @@ -48,7 +48,7 @@ def add_a_multi_step_component(step, is_advanced, category): def see_a_multi_step_component(step, category): # Wait for all components to finish rendering - selector = 'li.component section.xblock-student_view' + selector = 'li.component div.xblock-student_view' world.wait_for(lambda _: len(world.css_find(selector)) == len(step.hashes)) for idx, step_hash in enumerate(step.hashes): @@ -73,11 +73,11 @@ def see_a_multi_step_component(step, category): @step(u'I see a "([^"]*)" Problem component$') def see_a_problem_component(step, category): - component_css = 'section.xmodule_CapaModule' + component_css = 'div.xmodule_CapaModule' assert_true(world.is_css_present(component_css), 'No problem was added to the unit.') - problem_css = 'li.component section.xblock-student_view' + problem_css = 'li.component div.xblock-student_view' actual_text = world.css_text(problem_css) assert_in(category.upper(), actual_text) @@ -150,7 +150,7 @@ def duplicated_component(step, ordinal): @step(u'I see a Problem component with display name "([^"]*)" in position "([^"]*)"$') def see_component_in_position(step, display_name, index): - component_css = 'section.xmodule_CapaModule' + component_css = 'div.xmodule_CapaModule' def find_problem(_driver): return world.css_text(component_css, int(index)).startswith(display_name.upper()) diff --git a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py index 46c7da2411..b194e356bd 100644 --- a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py +++ b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py @@ -23,9 +23,9 @@ def create_component_instance(step, category, component_type=None, is_advanced=F component_button_css = 'span.large-{}-icon'.format(category.lower()) if category == 'problem': - module_css = 'section.xmodule_CapaModule' + module_css = 'div.xmodule_CapaModule' else: - module_css = 'section.xmodule_{}Module'.format(category.title()) + module_css = 'div.xmodule_{}Module'.format(category.title()) # Count how many of that module is on the page. Later we will # assert that one more was added. diff --git a/cms/djangoapps/contentstore/features/static-pages.py b/cms/djangoapps/contentstore/features/static-pages.py index 250764f0c9..a04dd3af89 100644 --- a/cms/djangoapps/contentstore/features/static-pages.py +++ b/cms/djangoapps/contentstore/features/static-pages.py @@ -21,14 +21,14 @@ def add_page(step): @step(u'I should see a static page named "([^"]*)"$') def see_a_static_page_named_foo(step, name): - pages_css = 'section.xmodule_StaticTabModule' + pages_css = 'div.xmodule_StaticTabModule' page_name_html = world.css_html(pages_css) assert_equal(page_name_html, '\n {name}\n'.format(name=name)) @step(u'I should not see any static pages$') def not_see_any_static_pages(step): - pages_css = 'section.xmodule_StaticTabModule' + pages_css = 'div.xmodule_StaticTabModule' assert (world.is_css_not_present(pages_css, wait_time=30)) diff --git a/common/djangoapps/xmodule_modifiers.py b/common/djangoapps/xmodule_modifiers.py index f8e51b7733..2c34994c45 100644 --- a/common/djangoapps/xmodule_modifiers.py +++ b/common/djangoapps/xmodule_modifiers.py @@ -76,6 +76,7 @@ def wrap_xblock(runtime_class, block, view, frag, context, display_name_only=Fal template_context = { 'content': block.display_name if display_name_only else frag.content, 'classes': css_classes, + 'display_name': block.display_name_with_default, 'data_attributes': ' '.join(u'data-{}="{}"'.format(key, value) for key, value in data.items()), } diff --git a/common/lib/xmodule/xmodule/css/capa/display.scss b/common/lib/xmodule/xmodule/css/capa/display.scss index ddf57e846d..a40391a06a 100644 --- a/common/lib/xmodule/xmodule/css/capa/display.scss +++ b/common/lib/xmodule/xmodule/css/capa/display.scss @@ -29,7 +29,7 @@ iframe[seamless]{ color: darken($error-red, 11%); } -section.problem-progress { +div.problem-progress { display: inline-block; padding-left: 5px; color: #999; @@ -37,7 +37,7 @@ section.problem-progress { font-size: em(16); } -section.problem { +div.problem { @media print { display: block; padding: 0; @@ -579,7 +579,7 @@ section.problem { border: 1px solid #ccc; } - section.action { + div.action { margin-top: $baseline; .save, .check, .show, .reset { diff --git a/common/lib/xmodule/xmodule/css/combinedopenended/display.scss b/common/lib/xmodule/xmodule/css/combinedopenended/display.scss index 9f76752bf7..1be3d8d913 100644 --- a/common/lib/xmodule/xmodule/css/combinedopenended/display.scss +++ b/common/lib/xmodule/xmodule/css/combinedopenended/display.scss @@ -818,7 +818,7 @@ section.open-ended-child { width: auto; } - section.action { + div.action { margin-top: $baseline; input.save { diff --git a/common/lib/xmodule/xmodule/css/sequence/display.scss b/common/lib/xmodule/xmodule/css/sequence/display.scss index b15d6c27a6..452f1a757a 100644 --- a/common/lib/xmodule/xmodule/css/sequence/display.scss +++ b/common/lib/xmodule/xmodule/css/sequence/display.scss @@ -393,7 +393,7 @@ nav.sequence-bottom { } } -.xmodule_VerticalModule ol.vert-mod > li ul.sequence-nav-buttons { +.xmodule_VerticalModule div.vert-mod > div ul.sequence-nav-buttons { list-style: none !important; } diff --git a/common/lib/xmodule/xmodule/js/fixtures/annotatable.html b/common/lib/xmodule/xmodule/js/fixtures/annotatable.html index 04b61ce9ee..4b645dc26f 100644 --- a/common/lib/xmodule/xmodule/js/fixtures/annotatable.html +++ b/common/lib/xmodule/xmodule/js/fixtures/annotatable.html @@ -29,7 +29,7 @@ -
Return to Annotation
-
Return to Annotation
-
Return to Annotation
+
Return to Annotation
+
Return to Annotation
+
Return to Annotation
diff --git a/common/lib/xmodule/xmodule/js/fixtures/problem_content.html b/common/lib/xmodule/xmodule/js/fixtures/problem_content.html index 2ca5d8d23f..af5697bb9a 100644 --- a/common/lib/xmodule/xmodule/js/fixtures/problem_content.html +++ b/common/lib/xmodule/xmodule/js/fixtures/problem_content.html @@ -1,12 +1,11 @@

${_("Problem Header")}

-
-
+
-
+

${_("Problem Content")}

-
+
@@ -18,6 +17,6 @@ ${_("Explanation")} -
-
-
+
+ + diff --git a/common/lib/xmodule/xmodule/js/spec/capa/display_spec.coffee b/common/lib/xmodule/xmodule/js/spec/capa/display_spec.coffee index ced45bdbab..9d58fcacf6 100644 --- a/common/lib/xmodule/xmodule/js/spec/capa/display_spec.coffee +++ b/common/lib/xmodule/xmodule/js/spec/capa/display_spec.coffee @@ -52,19 +52,19 @@ describe 'Problem', -> expect(window.update_schematics).toHaveBeenCalled() it 'bind answer refresh on button click', -> - expect($('section.action input:button')).toHandleWith 'click', @problem.refreshAnswers + expect($('div.action input:button')).toHandleWith 'click', @problem.refreshAnswers it 'bind the check button', -> - expect($('section.action input.check')).toHandleWith 'click', @problem.check_fd + expect($('div.action input.check')).toHandleWith 'click', @problem.check_fd it 'bind the reset button', -> - expect($('section.action input.reset')).toHandleWith 'click', @problem.reset + expect($('div.action input.reset')).toHandleWith 'click', @problem.reset it 'bind the show button', -> - expect($('section.action button.show')).toHandleWith 'click', @problem.show + expect($('div.action button.show')).toHandleWith 'click', @problem.show it 'bind the save button', -> - expect($('section.action input.save')).toHandleWith 'click', @problem.save + expect($('div.action input.save')).toHandleWith 'click', @problem.save it 'bind the math input', -> expect($('input.math')).toHandleWith 'keyup', @problem.refreshMath diff --git a/common/lib/xmodule/xmodule/js/src/capa/display.coffee b/common/lib/xmodule/xmodule/js/src/capa/display.coffee index 2961962414..db85b5af7f 100644 --- a/common/lib/xmodule/xmodule/js/src/capa/display.coffee +++ b/common/lib/xmodule/xmodule/js/src/capa/display.coffee @@ -19,11 +19,11 @@ class @Problem problem_prefix = @element_id.replace(/problem_/,'') @inputs = @$("[id^=input_#{problem_prefix}_]") - @$('section.action input:button').click @refreshAnswers - @$('section.action input.check').click @check_fd - @$('section.action input.reset').click @reset - @$('section.action button.show').click @show - @$('section.action input.save').click @save + @$('div.action input:button').click @refreshAnswers + @$('div.action input.check').click @check_fd + @$('div.action input.reset').click @reset + @$('div.action button.show').click @show + @$('div.action input.save').click @save @bindResetCorrectness() diff --git a/common/lib/xmodule/xmodule/js/src/poll/poll_main.js b/common/lib/xmodule/xmodule/js/src/poll/poll_main.js index e72d6844a5..3b61f5744f 100644 --- a/common/lib/xmodule/xmodule/js/src/poll/poll_main.js +++ b/common/lib/xmodule/xmodule/js/src/poll/poll_main.js @@ -272,7 +272,7 @@ function PollMain(el) { c1 += 1; if ( - (tempEl.tagName.toLowerCase() === 'section') && + (tempEl.tagName.toLowerCase() === 'div') && ($(tempEl).hasClass('xmodule_WrapperModule') === true) ) { _this.wrapperSectionEl = tempEl; diff --git a/common/lib/xmodule/xmodule/js/src/vertical/edit.coffee b/common/lib/xmodule/xmodule/js/src/vertical/edit.coffee index 7ce69e542a..8dbf8e2550 100644 --- a/common/lib/xmodule/xmodule/js/src/vertical/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/vertical/edit.coffee @@ -6,4 +6,4 @@ class @VerticalDescriptor extends XModule.Descriptor ) save: -> - children: $('.vert-mod li', @element).map((idx, el) -> $(el).data('id')).toArray() + children: $('.vert-mod div', @element).map((idx, el) -> $(el).data('id')).toArray() diff --git a/common/lib/xmodule/xmodule/js/src/wrapper/edit.coffee b/common/lib/xmodule/xmodule/js/src/wrapper/edit.coffee index a13c5a8bc7..801b09d168 100644 --- a/common/lib/xmodule/xmodule/js/src/wrapper/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/wrapper/edit.coffee @@ -7,4 +7,4 @@ class @WrapperDescriptor extends XModule.Descriptor ) save: -> - children: $('.vert-mod li', @element).map((idx, el) -> $(el).data('id')).toArray() + children: $('.vert-mod div', @element).map((idx, el) -> $(el).data('id')).toArray() diff --git a/common/templates/xblock_wrapper.html b/common/templates/xblock_wrapper.html index 0dc345241b..d8bbf20712 100644 --- a/common/templates/xblock_wrapper.html +++ b/common/templates/xblock_wrapper.html @@ -1,3 +1,3 @@ -
+
${content} -
+ diff --git a/common/test/acceptance/pages/lms/course_nav.py b/common/test/acceptance/pages/lms/course_nav.py index 9fb7bcc4f6..15c52cc300 100644 --- a/common/test/acceptance/pages/lms/course_nav.py +++ b/common/test/acceptance/pages/lms/course_nav.py @@ -15,7 +15,7 @@ class CourseNavPage(PageObject): url = None def is_browser_on_page(self): - return self.is_css_present('section.course-index') + return self.is_css_present('div.course-index') @property def sections(self): diff --git a/lms/djangoapps/courseware/features/annotatable.py b/lms/djangoapps/courseware/features/annotatable.py index 56622af5e9..a66e0d8ce6 100644 --- a/lms/djangoapps/courseware/features/annotatable.py +++ b/lms/djangoapps/courseware/features/annotatable.py @@ -139,7 +139,7 @@ class AnnotatableSteps(object): self.active_problem = problem def active_problem_selector(self, subselector): - return 'section[data-problem-id="{}"] {}'.format( + return 'div[data-problem-id="{}"] {}'.format( world.scenario_dict['PROBLEMS'][self.active_problem].location.url(), subselector, ) diff --git a/lms/djangoapps/courseware/features/problems.py b/lms/djangoapps/courseware/features/problems.py index 991f239f78..165c115da7 100644 --- a/lms/djangoapps/courseware/features/problems.py +++ b/lms/djangoapps/courseware/features/problems.py @@ -121,7 +121,7 @@ def press_the_button_with_label(_step, buttonname): @step(u'The "([^"]*)" button does( not)? appear') def action_button_present(_step, buttonname, doesnt_appear): - button_css = 'section.action input[value*="%s"]' % buttonname + button_css = 'div.action input[value*="%s"]' % buttonname if bool(doesnt_appear): assert world.is_css_not_present(button_css) else: @@ -141,7 +141,7 @@ def see_score(_step, score): # The problem progress is changed by # cms/static/xmodule_js/src/capa/display.js # so give it some time to render on the page. - score_css = 'section.problem-progress' + score_css = 'div.problem-progress' expected_text = '({})'.format(score) world.wait_for(lambda _: world.css_has_text(score_css, expected_text)) diff --git a/lms/djangoapps/courseware/tests/test_module_render.py b/lms/djangoapps/courseware/tests/test_module_render.py index ea40b19e81..3bdc3b1049 100644 --- a/lms/djangoapps/courseware/tests/test_module_render.py +++ b/lms/djangoapps/courseware/tests/test_module_render.py @@ -406,7 +406,7 @@ class TestHtmlModifiers(ModuleStoreTestCase): ) result_fragment = module.render('student_view') - self.assertIn('section class="xblock xblock-student_view xmodule_display xmodule_HtmlModule"', result_fragment.content) + self.assertIn('div class="xblock xblock-student_view xmodule_display xmodule_HtmlModule"', result_fragment.content) def test_xmodule_display_wrapper_disabled(self): module = render.get_module( @@ -419,7 +419,7 @@ class TestHtmlModifiers(ModuleStoreTestCase): ) result_fragment = module.render('student_view') - self.assertNotIn('section class="xblock xblock-student_view xmodule_display xmodule_HtmlModule"', result_fragment.content) + self.assertNotIn('div class="xblock xblock-student_view xmodule_display xmodule_HtmlModule"', result_fragment.content) def test_static_link_rewrite(self): module = render.get_module( diff --git a/lms/static/sass/course/courseware/_courseware.scss b/lms/static/sass/course/courseware/_courseware.scss index abceb38359..a05d48ea28 100644 --- a/lms/static/sass/course/courseware/_courseware.scss +++ b/lms/static/sass/course/courseware/_courseware.scss @@ -125,7 +125,7 @@ div.course-wrapper { } } - section.xmodule_WrapperModule ol.vert-mod > li { + section.xmodule_WrapperModule div.vert-mod > div { border-bottom: none; } @@ -193,7 +193,7 @@ div.course-wrapper { } &.closed { - section.course-index { + div.course-index { width: flex-grid(.6); overflow: hidden; diff --git a/lms/static/sass/course/courseware/_sidebar.scss b/lms/static/sass/course/courseware/_sidebar.scss index 83e1885324..153e0c4b97 100644 --- a/lms/static/sass/course/courseware/_sidebar.scss +++ b/lms/static/sass/course/courseware/_sidebar.scss @@ -1,4 +1,4 @@ -section.course-index { +.course-index { @extend .sidebar; @extend .tran; border-radius: 3px 0 0 3px; diff --git a/lms/static/sass/ie.scss b/lms/static/sass/ie.scss index a2dc84de38..9522f8f068 100644 --- a/lms/static/sass/ie.scss +++ b/lms/static/sass/ie.scss @@ -159,7 +159,7 @@ display: block !important; section.course-content, - section.course-index { + div.course-index { display: block !important; float: left; } diff --git a/lms/templates/courseware/courseware.html b/lms/templates/courseware/courseware.html index a4fb15a69f..4fc2035874 100644 --- a/lms/templates/courseware/courseware.html +++ b/lms/templates/courseware/courseware.html @@ -185,28 +185,28 @@ ${fragment.foot_html()} <%include file="/courseware/course_navigation.html" args="active_page='courseware'" /> % endif -
+
% if accordion: -
+
${_("close")}
-
+
% endif
${fragment.body_html()}
-
+ % if show_chat:
diff --git a/lms/templates/poll.html b/lms/templates/poll.html index 6dd2f579a4..8a8c6dc1ca 100644 --- a/lms/templates/poll.html +++ b/lms/templates/poll.html @@ -1,8 +1,8 @@ -
-
\ No newline at end of file +
\ No newline at end of file diff --git a/lms/templates/problem.html b/lms/templates/problem.html index efcb868cb9..02727f62a1 100644 --- a/lms/templates/problem.html +++ b/lms/templates/problem.html @@ -5,13 +5,12 @@ ${ problem['name'] } -
-
+
-
+
${ problem['html'] } -
+
% if check_button: @@ -27,9 +26,9 @@ % endif % if attempts_allowed : -
+
${_("You have used {num_used} of {num_total} submissions").format(num_used=attempts_used, num_total=attempts_allowed)} -
+
% endif -
-
+ + diff --git a/lms/templates/problem_ajax.html b/lms/templates/problem_ajax.html index 1babda1ae2..05c3c2ada8 100644 --- a/lms/templates/problem_ajax.html +++ b/lms/templates/problem_ajax.html @@ -1 +1 @@ -
+
diff --git a/lms/templates/registration/password_reset_complete.html b/lms/templates/registration/password_reset_complete.html index c1c53d34b5..00dd6a582a 100644 --- a/lms/templates/registration/password_reset_complete.html +++ b/lms/templates/registration/password_reset_complete.html @@ -56,8 +56,8 @@ -
-
+
+

{% trans "Your Password Reset is Complete" %}

@@ -65,11 +65,11 @@
{% block content %} -
+
{% blocktrans with link_start='' link_end='' %} Your password has been set. You may go ahead and {{ link_start }}log in{{ link_end }} now. {% endblocktrans %} -
+
{% endblock %} -
-
+ + diff --git a/lms/templates/seq_module.html b/lms/templates/seq_module.html index 0fc3e1c246..1d6fabd928 100644 --- a/lms/templates/seq_module.html +++ b/lms/templates/seq_module.html @@ -1,25 +1,25 @@ <%! from django.utils.translation import ugettext as _ %>
-