diff --git a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
index 030d93e9b5..644f63e3ec 100644
--- a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
+++ b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
@@ -533,7 +533,7 @@ class @CombinedOpenEnded
gentle_alert: (msg) =>
if @$el.find(@oe_alert_sel).length
@$el.find(@oe_alert_sel).remove()
- alert_elem = "
" + msg + "
"
+ alert_elem = "" + msg + "
"
@$el.find('.open-ended-action').after(alert_elem)
@$el.find(@oe_alert_sel).css(opacity: 0).animate(opacity: 1, 700)
diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
index 45a5379683..8c3da6d5b2 100644
--- a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
+++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
@@ -819,10 +819,14 @@ class CombinedOpenEndedV1Module():
Output: The status html to be rendered
"""
status = []
+ current_task_human_name = ""
for i in xrange(0, len(self.task_xml)):
human_task_name = self.extract_human_name_from_task(self.task_xml[i])
- task_data = {'task_number': i + 1, 'human_task' : human_task_name, 'current' : self.current_task_number==i}
+ # Extract the name of the current task for screen readers.
+ if self.current_task_number == i:
+ current_task_human_name = human_task_name
+ task_data = {'task_number': i + 1, 'human_task': human_task_name, 'current': self.current_task_number==i}
status.append(task_data)
context = {
@@ -830,6 +834,7 @@ class CombinedOpenEndedV1Module():
'grader_type_image_dict': GRADER_TYPE_IMAGE_DICT,
'legend_list': LEGEND_LIST,
'render_via_ajax': render_via_ajax,
+ 'current_task_human_name': current_task_human_name,
}
status_html = self.system.render_template("{0}/combined_open_ended_status.html".format(self.TEMPLATE_DIR),
context)
diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
index 2d973aa9ed..8b88e676ae 100644
--- a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
+++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
@@ -696,6 +696,13 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
correct = ""
previous_answer = self.get_display_answer()
+ # Use the module name as a unique id to pass to the template.
+ try:
+ module_id = self.system.location.name
+ except AttributeError:
+ # In cases where we don't have a system or a location, use a fallback.
+ module_id = "open_ended"
+
context = {
'prompt': self.child_prompt,
'previous_answer': previous_answer,
@@ -703,7 +710,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
'allow_reset': self._allow_reset(),
'rows': 30,
'cols': 80,
- 'id': 'open_ended',
+ 'module_id': module_id,
'msg': post_assessment,
'child_type': 'openended',
'correct': correct,
diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
index 6c0d1bbf08..d36aa7d62c 100644
--- a/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
+++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
@@ -57,6 +57,13 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
# set context variables and render template
previous_answer = self.get_display_answer()
+ # Use the module name as a unique id to pass to the template.
+ try:
+ module_id = self.system.location.name
+ except AttributeError:
+ # In cases where we don't have a system or a location, use a fallback.
+ module_id = "self_assessment"
+
context = {
'prompt': self.child_prompt,
'previous_answer': previous_answer,
@@ -66,6 +73,7 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
'allow_reset': self._allow_reset(),
'child_type': 'selfassessment',
'accept_file_upload': self.accept_file_upload,
+ 'module_id': module_id,
}
html = system.render_template('{0}/self_assessment_prompt.html'.format(self.TEMPLATE_DIR), context)
diff --git a/lms/templates/combinedopenended/combined_open_ended_status.html b/lms/templates/combinedopenended/combined_open_ended_status.html
index 866eaccb1c..a74d3f03c0 100644
--- a/lms/templates/combinedopenended/combined_open_ended_status.html
+++ b/lms/templates/combinedopenended/combined_open_ended_status.html
@@ -12,4 +12,5 @@
%endfor
+ Current Assessment Type: ${current_task_human_name}
diff --git a/lms/templates/combinedopenended/openended/open_ended.html b/lms/templates/combinedopenended/openended/open_ended.html
index 52d8042038..3a73ebd6b0 100644
--- a/lms/templates/combinedopenended/openended/open_ended.html
+++ b/lms/templates/combinedopenended/openended/open_ended.html
@@ -1,5 +1,5 @@
<%! from django.utils.translation import ugettext as _ %>
-
+
${prompt|n}
@@ -7,9 +7,9 @@
-
+
diff --git a/lms/templates/combinedopenended/openended/open_ended_rubric.html b/lms/templates/combinedopenended/openended/open_ended_rubric.html
index 55194a9318..1d73647ec7 100644
--- a/lms/templates/combinedopenended/openended/open_ended_rubric.html
+++ b/lms/templates/combinedopenended/openended/open_ended_rubric.html
@@ -11,7 +11,7 @@
% for i in range(len(categories)):
<% category = categories[i] %>
<% m = randint(0,1000) %>
-
${category['description']}
+
${category['description']}
% for j in range(len(category['options'])):
<% option = category['options'][j] %>
diff --git a/lms/templates/combinedopenended/selfassessment/self_assessment_prompt.html b/lms/templates/combinedopenended/selfassessment/self_assessment_prompt.html
index 93b0e7bacd..be8e346adb 100644
--- a/lms/templates/combinedopenended/selfassessment/self_assessment_prompt.html
+++ b/lms/templates/combinedopenended/selfassessment/self_assessment_prompt.html
@@ -1,5 +1,5 @@
<%! from django.utils.translation import ugettext as _ %>
-