Find out how QuickBooks Desktop for Windows was rebuilt to make it accessible. QuickBooks for Desktop was originally developed before Microsoft's accessibility APIs. The program was built upon custom drawn elements and the accessibility was always minimal.
However, a small group of developers and users worked together in 2013 to fix the issues within the core and added screen reader scripting to make QuickBooks 2014 accessible.
This presentation was developed for the ATIA conference in Orlando to show what is possible, even with a legacy product, when there is a commitment to making an accessible product.
Here is an accessible version of this presentation: http://www.last-child.com/quickbooks-desktop-a11y/
2. Dixie’s Dilemma
This 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
3. Dixie’s Dilemma
This 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
6. QuickBooks History
• Older than MSAA platform
• Custom, not standard, components
• No awareness of impact
• Workarounds became the norm
QuickBooks was build 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.
7. 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.
8. QB 2013
•
•
Significantly simplified interface
•
•
•
Worse accessibility for screen reader users
Improved low vision and cognitive
accessibility
JAWS Script-only fix attempt
Blind user testing did not solve problems
prior to product launch
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.
10. Failures are finger posts
on the road to
achievement.
- C. S. Lewis
It became clear that we needed to do a full evaluation of what went wrong to truly make a
positive push towards accessibility.
11. Key Learnings
• Get executive buy-in for full support
• Create a diverse, strong team
• JAWS scripts were not enough
• Fix the core structure
• Automated QA test solutions
12. 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.
13. Diverse 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.
14. 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.
15. 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.
16. Automated Testing
• Automated tests navigate the product.
• If they can do it, why can’t we?
• The tests gave us foundation for
discovering component information
• 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.
17. User Testing
• Steven and Sujasree brought extensive
screen reader experience
• Small business and accountants
• Testing for barriers and inconsistencies
• Testers helped each other
18. Results
•
•
QB 2014 release included basic accessibility
•
JAWS Scripts make product much more
usable.
•
•
NVDA and WindowEyes under development
Subsequent releases have increased support
to 90%
Roadmap for QB 2015 and future releases
19. 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
20. This is an introduction video from Richard Kelly on setting up QuickBooks to work with JAWS.
http://www.youtube.com/watch?v=nioOjbvSCkU
21. 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.