23
Cheryl Aranha, Intuit Ted Drake, Intuit CSUN 2014 Using QuickBooks as a Model for Updating Mature Software for Accessibility This presentation was created for CSUN 2014, San Diego. Aztec pyramids are massive structures built 2-3,000 years ago. While they seem daunting, they are ultimately composed of multiple steps. This presentation shows the steps taken by a small team to make QuickBooks Desktop accessible. photo: Chichen Itza Pyramid in Riviera Maya, Mexico by Grand Velas Riviera Maya http://www.flickr.com/photos/grandvelasrivieramaya/3180226026/

Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Embed Size (px)

DESCRIPTION

This presentation for CSUN 2014 shows how a small team was able to fundamentally change QuickBooks Desktop product to make it fully accessible within a year. The steps taken should help you create a strategy plan to make your legacy products accessible as well. Key topics include securing executive support, JAWS scripting, MSAA, user testing, and training.

Citation preview

Page 1: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Cheryl Aranha, Intuit!Ted Drake, Intuit!

CSUN 2014

Using QuickBooks as a Model for Updating

Mature Software for Accessibility

This presentation was created for CSUN 2014, San Diego. Aztec pyramids are massive structures built 2-3,000 years ago. While they seem daunting, they are ultimately composed of multiple steps. This presentation shows the steps taken by a small team to make QuickBooks Desktop accessible. photo: Chichen Itza Pyramid in Riviera Maya, Mexico by Grand Velas Riviera Maya http://www.flickr.com/photos/grandvelasrivieramaya/3180226026/

Page 2: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Step 1: !What’s broken?

You need a full understanding of what’s broken before you can fix it. Where in the architecture are the problems caused?

Page 3: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

History

• Older than MSAA platform!

• Custom, not standard, components!

• No awareness of impact!

• Workarounds became the norm

QuickBooks was built in 1990’s before Microsoft’s MSAA platform was established. Unfortunately the core of QuickBooks was built on custom elements that had no standard interface with the Accessibility APIs. Engineers continued to work with custom elements, as there was not an understanding of the accessibility impact. As the product matured, elements began integrating standards and some elements were more accessible. However, blind users still had to discover their own workarounds to use the product. photo: Mexico City by Ana Kelston http://www.flickr.com/photos/bananawacky/10563468256/

Page 4: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

QB 2013 Broken Promises

QB 2013 was a significant re-build with a new, simplified interface. Designers paid significant attention to low vision and cognitive accessibility. Unfortunately, the engineers made the product less accessible with the new set of custom components. QB was testing with blind users, but were not able to solve the increasingly bad developments prior to product launch.

Page 5: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

• Significantly simplified interface!

• Improved low vision and cognitive accessibility!

• Worse accessibility for screen reader users!

• JAWS Script-only fix attempt!

• Blind user testing did not solve problems prior to product launch

QB 2013

QuickBooks 2013 was a mixed bag. There were attempts to add more accessible, but they efforts were not effective. This led to a fundamental re-evaluation.

Page 6: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

QuickBooks 2014A New Commitment

photo: Chichen Itza Sun God by Thomasz Wagner http://www.flickr.com/photos/mananetwork/358007257/

Page 7: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Executive SupportStep 2:

While executives understood the accessibility challenge, we needed them to fully embrace the efforts and provide the budget to hire consultants (DeQue and My Blind Spot) to make this work. They also committed to making this a permanent effort and to include outreach and education.

Page 8: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Executive Support

• QuickBooks executives introduced to accessibility impact on a personal level.!

• Dixie’s video and meeting with Albert Rizzi led to expanded support!

• Accessibility became a “no trade-off” position for QB 2014.

While executives understood the accessibility challenge, we needed them to fully embrace the efforts and provide the budget to hire consultants (DeQue and My Blind Spot) to make this work. They also committed to making this a permanent effort and to include outreach and education.

Page 9: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Dixie’s DilemmaThis video introduces Dixie. It was originally created for QuickBooks upper management to understand the problems caused by QB inaccessibility. It’s effectiveness was stronger than we hoped and the video was released officially by Intuit. http://www.youtube.com/watch?v=ZklXouXyORk

Page 10: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Step 3!Build the Team

photo: Mexico, Tula by Phil http://www.flickr.com/photos/chicoboomba/8125701672/

Page 11: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

QB Team• Cheryl Aranha (QuickBooks) - Project Management,

Lead Engineer !

• Steven Clark and John Martyn (My Blind Spot) - Scripting and User expertise!

• Sujasree Kurapati (DeQue) - C++ and Accessibility API expertise!

• Albert Rizzi (My Blind Spot) - User testing, training, outreach management!

• Lori Samuels (Intuit) - Project and Strategy Management

Cheryl’s team expanded as she was able to reach across the QuickBooks team to find help on specific problems. For instance, tracking down engineers that previously worked on components.

Page 12: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Step 4:! Find Solutions

Page 13: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

JAWS Scripts

• John Martyn demonstrated his JAWS scripts for QB 2012 at NFB 2012!

• Screen layout dependent!

• Slow and fragile!

• Required significant changes for QB 2013

The scripts were a valiant effort, but were limited by the lack of control information provided by the program. With no solid identification of objects, the scripts had to investigate the page to discover the identity of each element.

Page 14: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Fix The Core

• Focus on the components

• Identify their state,class, name, and control ID

• Start with one page, expand to full product

• Regression testing critical

QuickBooks is fundamentally a mature product with a large user base. Our first priority was to fix the accessibility issues without introducing new issues. !Start small (one screen) allow changes to bubble up across the product.

Page 15: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Automated Testing

• If they can do it, why can’t we?!

• Core fixes improve automated testing

Accessibility projects need to include automated testing, as they go hand in hand. With QB, the automated tests included complicated methods to grab component information. We were able to use this information to make these custom components work for everyone. Working with QA incorporated regression testing to ensure product stability. photo: robot by jbraine http://www.flickr.com/photos/jbraine/4282847492/

Page 16: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Challenges

!• Product cycle and regression timelines!

!•!Levels of testing! !•!Respecting OS themes! !•!Mixed technical stack!!•!Prioritizing screens

• Keeping to product cycle and regression timelines • Levels of testing: From within product/ testing for accessibility/ testing with scripts/ beta testing • Respecting OS themes and not overriding system behaviour- be it colors/ fonts etc • Mixed technical stack • Prioritizing screens- to our luck, fixing some core controls ended up getting fixed across QB. But this widened the scope of testing

Page 17: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Results• QB 2014 release included basic accessibility!

• Subsequent releases have increased support to 90%!

• JAWS Scripts make product much more usable.!

• NVDA and WindowEyes under development!

• Roadmap for QB 2015 and future releases

Page 18: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

This short video shows how the inputs are now announcing the states, values, and functionality. It shows how to write a check, one of the most commonly used screens within QuickBooks. The screen reader is JAWS

Page 19: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Step 5: ! Testing and Training

Steven and Sujasree brought extensive screen reader experience Small business and accountants were enlisted Testing for barriers and inconsistencies Testers helped each other via email distribution list

Page 20: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Training

• Current users have developed their own workarounds.

• These will be affected with new release

• Education to use QB 2014 natively

• Accessible training materials

Real World Training provides official training for QuickBooks, this information is used towards building the accessible documentation

Page 21: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Video Training

This check writing video represents the training component of this project. Richard Kelly also has a video on setting up QuickBooks to work with JAWS. http://www.youtube.com/watch?v=nioOjbvSCkU

Page 22: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Interesting Discoveries

• Custom focus color was blocking JAWS!

• Detect screen reader to remove skins!

• Beta testing platform was not accessible!

• Document shortcut keys for consistency

QuickBooks used a green highlight color. JAWS looks for blue or black and was not able to detect the green focus indication. Better yet, changes were made to use true focus instead of only visual indication Detecting the screen reader via Microsoft’s wm_getobject allowed us to disable the problematic skin and focus on core elements. Beta testers were initially blocked by a third party software that was not accessible.

Page 23: Using QuickBooks as a Model for Updating Mature Software for Accessibility csun14

Contact

• Ted Drake, Intuit @ted_drake, [email protected]!

• Cheryl Aranha, [email protected] !

• Albert Rizzi, My Blind Spot@MyBlindSpotOrg