64
Using Acceptance Tests to Validate Accessibility Requirements in RIA Willian Massami Watanabe Renata Pontin de Mattos Fortes Ana Luiza Dias 9th International Cross-Disciplinary Conference on Web Accessibility – 16/17th April 2012 – Lyon, France.

Using Acceptance Tests to Validate Accessibility Requirements in RIA

Embed Size (px)

DESCRIPTION

These slides were presented in W4A.

Citation preview

Page 1: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Using Acceptance Tests to Validate

Accessibility Requirements in RIA

Willian Massami WatanabeRenata Pontin de Mattos Fortes

Ana Luiza Dias

9th International Cross-Disciplinary Conference on Web Accessibility – 16/17th April 2012 – Lyon, France.

Page 2: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hypothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

2/35

Page 3: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hypothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

2/35

Page 4: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Research Context

3/35

Page 5: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Research Context

4/35

Web 2.0

Page 6: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

Research Context

4/35

Page 7: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Users

Research Context

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

4/35

Page 8: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Users

• New features• Web applications

improvements

• New features• Web applications

improvements

Research Context

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

4/35

Page 9: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Less than an hourLess than an hour

Research Context

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

5/35

Page 10: Using Acceptance Tests to Validate Accessibility Requirements in RIA

RequirementsRequirements

DesignDesign

ImplementationImplementation

TestsTests

DeploymentDeployment

Less than an hourLess than an hour

Research Context

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

5/35

Page 11: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Continous Integration

Continuouslly compile and test the software to ensure quality

[Kim et al. 2008]

Research Context

5/35

Page 12: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Continuous Integration

Developers

Research Context

6/35

Page 13: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Continuous Integration

Developers

Source code repository

Research Context

6/35

Page 14: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Research Context

6/35

Continuous Integration

Page 15: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Research Context

6/35

Continuous Integration

Page 16: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Research Context

6/35

Continuous Integration

Page 17: Using Acceptance Tests to Validate Accessibility Requirements in RIA

RequirementsRequirements

DesignDesign

ImplementationImplementation

TestsTests

DeploymentDeploymentQuality

Perpetual Perpetual betabeta

Perpetual Perpetual betabeta

Less than an hourLess than an hour

Research Context

7/35

Page 18: Using Acceptance Tests to Validate Accessibility Requirements in RIA

How to evaluate accessibility?

Less than an hourLess than an hour

TestsTests

Research Context

8/35

Page 19: Using Acceptance Tests to Validate Accessibility Requirements in RIA

•User testing [Romen e Svanaes, 2008]

•WCAG conformance [W3C, 2008]

•Barrier walkthrough [Brajnik, 2006]

•Automatic accessibility tests

Research Context

9/35

Page 20: Using Acceptance Tests to Validate Accessibility Requirements in RIA

•User tests

•WCAG conformance

•Barrier walkthrough

•Automatic accessibility tests

Less than an hourLess than an hour

TestsTests

Research Context

9/35

Page 21: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda•Research context

•State of art

•Hypothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

10/35

Page 22: Using Acceptance Tests to Validate Accessibility Requirements in RIA

State of art

JavaScript

CSS

HTML

11/35

RIARIA

Page 23: Using Acceptance Tests to Validate Accessibility Requirements in RIA

State of art

HTML

HTML ParserHTML Parser

Static HTML content analysis

Static HTML content analysis

[Velasco et al. 2008]

11/35

Page 24: Using Acceptance Tests to Validate Accessibility Requirements in RIA

State of art

JavaScript CSS

HTML

Not evaluatedNot evaluated

11/35

Page 25: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hypothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

12/35

Page 26: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Hypothesis

Users

13/35

RIARIA

Page 27: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Hypothesis

Users

RIARIAA

13/35

Page 28: Using Acceptance Tests to Validate Accessibility Requirements in RIA

HypothesisContinuous Integration

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

14/35

Page 29: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hipothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

15/35

Page 30: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Acceptance Test

Definition

“A formal test that determines if a system satisfies its acceptance criteria and allow the user to identify when a

system will be accepted or not.”

16/35

Page 31: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Behaviour Acceptance tests

•Assertions made against the external interface

•Test cases reflects User Stories

17/35

Acceptance Test

Page 32: Using Acceptance Tests to Validate Accessibility Requirements in RIA

18/35

Acceptance Test

Page 33: Using Acceptance Tests to Validate Accessibility Requirements in RIA

19/35

Acceptance Test

Page 34: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

20/35

Acceptance Test

Page 35: Using Acceptance Tests to Validate Accessibility Requirements in RIA

TAB key navigation to the element

containing the text “Sports”

TAB key navigation to the element

containing the text “Sports”

20/35

Acceptance Test

Page 36: Using Acceptance Tests to Validate Accessibility Requirements in RIA

TAB key navigation to the element

containing the text “Tennis”

TAB key navigation to the element

containing the text “Tennis”

20/35

Acceptance Test

Page 37: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

20/35

Acceptance Test

Page 38: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

20/35

Acceptance Test

Page 39: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

20/35

Acceptance Test

Page 40: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hipothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

21/35

Page 41: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

flyout menu

accordion menuoverlay menu

tabbed menu

flyout menu

accordion menuoverlay menu

tabbed menu

[Welie, 2008]

Preliminary results

Acceptance tests

Acceptance tests

HTML validators

HTML validators

22/35

Page 42: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

All web tools that test navigation accessibility requirementshttp://www.w3.org/WAI/ER/tools/

complete

Cynthia

DaSilva

EvalAccess

WAVE

Accessibility check

Achecker

FAE report

Hera

Preliminary results

HTML validators

HTML validators

23/35

Page 43: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

http://www.w3.org/WAI/ER/tools/complete

Cynthia

DaSilva

EvalAccess

WAVE

Accessibility check

Achecker

FAE report

Hera

Preliminary results

All web tools that test navigation accessibility requirementsHTML

validatorsHTML

validators

23/35

Page 44: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

HTML validators

HTML validators

Acceptance tests

Acceptance tests

Preliminary results

24/35

Our hypothesis

DaSilva

EvalAccess

WAVE

FAE report

Page 45: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

Preliminary results

25/35

Page 46: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

Preliminary results

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

26/35

Page 47: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

Projects that present defects that were not identified by

the Tool

Projects that present defects that were not identified by

the Tool

Preliminary results

26/35

Page 48: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Continuous Integration

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Preliminary results

27/35

Page 49: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Integração Contínua

Developers

Source code repository

• Unit testsUnit tests

• Integraiton Integraiton

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integraiton Integraiton

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Projects that might be put in production event though they

contain accessibility errors

Projects that might be put in production event though they

contain accessibility errors

Preliminary results

27/35

Page 50: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

Preliminary results

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

28/35

Page 51: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

Projects that present no accessibility errors

however are not put into production

Projects that present no accessibility errors

however are not put into production

Preliminary results

28/35

Page 52: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Continuous Integration

Developers

Source code repository

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit testsUnit tests

• Integration Integration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Preliminary results

29/35

Page 53: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Integração Contínua

Developers

Source code repository

• Unit tetsUnit tets

TestesIntegration TestesIntegration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

• Unit tetsUnit tets

TestesIntegration TestesIntegration

teststests

• CompileCompile

• Acceptance Acceptance

teststests

Report

Prevent the deployment of a stable

release of the software

Prevent the deployment of a stable

release of the software

Preliminary results

29/35

Page 54: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

Preliminary results

HTML ValidatorsHTML ValidatorsAcceptance

testsAcceptance

tests

30/35

Page 55: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

HTML Validators HTMLHTML Validators HTMLAcceptance

testsAcceptance

testsWarnings onlyWarnings only

Preliminary results

30/35

Page 56: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Focus management [W3C, 2011]

Preliminary results

Validadores HTMLValidadores HTMLAcceptance

testsAcceptance

tests

Do not make distinction between interface components that were

accessible and the ones that were not

Do not make distinction between interface components that were

accessible and the ones that were not

30/35

Page 57: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hipothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

31/35

Page 58: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Advantages

•In the experiment, the use of acceptance tests presented a higher number of correct assertions

•Higher effort required in order to execute the tests

•Assertions made agains the DOM structure inside of an use context makes it possible to evaluate ARIA requirements

32/35

Page 59: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Limitation

•The limitation of this hyphotesis is the higher cost to describe all contexts of the users

33/35

Page 60: Using Acceptance Tests to Validate Accessibility Requirements in RIA

Agenda

•Research context

•State of art

•Hipothesis

•Acceptance Tests

•Preliminary results

•Advantages and limitations

•Next steps

34/35

Page 61: Using Acceptance Tests to Validate Accessibility Requirements in RIA

•Implement new use scenarios for the acceptance tests

•Evaluate ARIA requirements

Next steps

35/35

Page 62: Using Acceptance Tests to Validate Accessibility Requirements in RIA

REFERENCES

• Seojin Kim, Sungjin Park, Jeonghyun Yun, and Younghoo Lee. 2008. Automated Continuous Integration of Component-Based Software: An Industrial Experience. In Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08). IEEE Computer Society, Washington, DC, USA, 423-426. DOI=10.1109/ASE.2008.64 http://dx.doi.org/10.1109/ASE.2008.64

• ROMEN, D.; SVANAES, D. Evaluating web site accessibility: validating the wai guidelines through usability testing with disabled users. In: NordiCHI ’08: Proceedings of the 5th Nordic conference on Human-computer interaction, New York, NY, USA: ACM, 2008, p. 535–538.

• W3C Conformance evaluation of web sites for accessibility. 2008a.Available at: http://www.w3.org/WAI/eval/conformance.html

Page 63: Using Acceptance Tests to Validate Accessibility Requirements in RIA

REFERENCES

• BRAJNIK, G. Web accessibility testing: When the method is the culprit. In: Computers Helping People with Special Needs, Springer Berlin / Heidelberg, 2006, p. 156–163 (Lecture Notes in Computer Science, v.4061).Available at: http://www.springerlink.com/content/ h2573t61gu3n8533/

• C. A. Velasco, D. Denev, D. Stegemann, and Y. Mohamad. A web compliance engineering framework to support the development of accessible rich internet applications. In Proceedings of the 2008 international cross-disciplinary conference on Web accessibility (W4A), W4A ’08, pages 45–49, New York, NY, USA, 2008. ACM.

• W3C Accessible Rich Internet Applications (WAI-ARIA) 1.0. 2011. Available at: http://www.w3.org/TR/wai-aria/.

• Welie. 2008. Available at: http://www.welie.com/patterns/.

Page 64: Using Acceptance Tests to Validate Accessibility Requirements in RIA

http://www.pyccuracy.orghttps://github.com/watinha/Pyccuracy-Accessibility-

Actions

Thank you very much!

URLs:

Contacts:watanabe

[email protected]

[email protected]

[email protected]

9th International Cross-Disciplinary Conference on Web Accessibility – 16/17th April 2012 – Lyon, France.

http://watinha.com/pyccuracy_test_1/templates/