make numerical and math expression input accessible
TNL-4973
This commit is contained in:
committed by
muzaffaryousaf
parent
31be6fad43
commit
19cc68c8c3
@@ -104,7 +104,7 @@ class ProblemPage(PageObject):
|
||||
"""
|
||||
Fill in the answer to a numerical problem.
|
||||
"""
|
||||
self.q(css='div.problem section.inputtype input').fill(text)
|
||||
self.q(css='div.problem div.inputtype input').fill(text)
|
||||
self.wait_for_element_invisibility('.loading', 'wait for loading icon to disappear')
|
||||
self.wait_for_ajax()
|
||||
|
||||
@@ -138,7 +138,7 @@ class ProblemPage(PageObject):
|
||||
"""
|
||||
wait for status icon
|
||||
"""
|
||||
self.wait_for_element_visibility('div.problem section.inputtype div .status', 'wait for status icon')
|
||||
self.wait_for_element_visibility('div.problem div.inputtype div .status', 'wait for status icon')
|
||||
|
||||
def wait_for_expected_status(self, status_selector, message):
|
||||
"""
|
||||
@@ -175,19 +175,19 @@ class ProblemPage(PageObject):
|
||||
"""
|
||||
Is there a "correct" status showing? Works with simple problem types.
|
||||
"""
|
||||
return self.q(css="div.problem section.inputtype div.correct span.status").is_present()
|
||||
return self.q(css="div.problem div.inputtype div.correct span.status").is_present()
|
||||
|
||||
def simpleprob_is_partially_correct(self):
|
||||
"""
|
||||
Is there a "partially correct" status showing? Works with simple problem types.
|
||||
"""
|
||||
return self.q(css="div.problem section.inputtype div.partially-correct span.status").is_present()
|
||||
return self.q(css="div.problem div.inputtype div.partially-correct span.status").is_present()
|
||||
|
||||
def simpleprob_is_incorrect(self):
|
||||
"""
|
||||
Is there an "incorrect" status showing? Works with simple problem types.
|
||||
"""
|
||||
return self.q(css="div.problem section.inputtype div.incorrect span.status").is_present()
|
||||
return self.q(css="div.problem div.inputtype div.incorrect span.status").is_present()
|
||||
|
||||
def click_clarification(self, index=0):
|
||||
"""
|
||||
|
||||
@@ -561,3 +561,42 @@ class CAPAProblemDropDownA11yTest(CAPAProblemA11yBaseTestMixin, ProblemsTest):
|
||||
</problem>
|
||||
""")
|
||||
return XBlockFixtureDesc('problem', 'Problem A11Y TEST', data=xml)
|
||||
|
||||
|
||||
@attr('a11y')
|
||||
class ProblemNumericalInputA11yTest(CAPAProblemA11yBaseTestMixin, ProblemsTest):
|
||||
"""Tests NumericalInput accessibility."""
|
||||
|
||||
def get_problem(self):
|
||||
"""NumericalInput problem XML."""
|
||||
xml = dedent("""
|
||||
<problem>
|
||||
<numericalresponse answer="10*i">
|
||||
<label>The square of what number is -100?</label>
|
||||
<description>Use scientific notation to answer.</description>
|
||||
<formulaequationinput/>
|
||||
</numericalresponse>
|
||||
</problem>""")
|
||||
return XBlockFixtureDesc('problem', 'NUMERICALINPUT PROBLEM', data=xml)
|
||||
|
||||
|
||||
@attr('a11y')
|
||||
class ProblemMathExpressionInputA11yTest(CAPAProblemA11yBaseTestMixin, ProblemsTest):
|
||||
"""Tests MathExpressionInput accessibility."""
|
||||
|
||||
def get_problem(self):
|
||||
"""MathExpressionInput problem XML."""
|
||||
xml = dedent(r"""
|
||||
<problem>
|
||||
<script type="loncapa/python">
|
||||
derivative = "n*x^(n-1)"
|
||||
</script>
|
||||
|
||||
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$derivative">
|
||||
<label>Let \( x\) be a variable, and let \( n\) be an arbitrary constant. What is the derivative of \( x^n\)?</label>
|
||||
<description>Enter the equation</description>
|
||||
<responseparam type="tolerance" default="0.00001"/>
|
||||
<formulaequationinput size="40"/>
|
||||
</formularesponse>
|
||||
</problem>""")
|
||||
return XBlockFixtureDesc('problem', 'MATHEXPRESSIONINPUT PROBLEM', data=xml)
|
||||
|
||||
@@ -535,12 +535,6 @@ class NumericalProblemTypeTest(ProblemTypeTestBase, ProblemTypeTestMixin):
|
||||
Additional setup for NumericalProblemTypeTest
|
||||
"""
|
||||
super(NumericalProblemTypeTest, self).setUp(*args, **kwargs)
|
||||
self.problem_page.a11y_audit.config.set_rules({
|
||||
'ignore': [
|
||||
'section', # TODO: AC-491
|
||||
'label', # TODO: AC-289
|
||||
]
|
||||
})
|
||||
|
||||
def answer_problem(self, correct):
|
||||
"""
|
||||
@@ -579,12 +573,6 @@ class FormulaProblemTypeTest(ProblemTypeTestBase, ProblemTypeTestMixin):
|
||||
Additional setup for FormulaProblemTypeTest
|
||||
"""
|
||||
super(FormulaProblemTypeTest, self).setUp(*args, **kwargs)
|
||||
self.problem_page.a11y_audit.config.set_rules({
|
||||
'ignore': [
|
||||
'section', # TODO: AC-491
|
||||
'label', # TODO: AC-288
|
||||
]
|
||||
})
|
||||
|
||||
def answer_problem(self, correct):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user