RailsConf 2014

Empowering Rich Internet Applications (RIAs) with Accessibility

Empowering Rich Internet Applications (RIAs) with Accessibility

by Nitin Dhaware and Nerkar Dnyaneshwar

The video titled "Empowering Rich Internet Applications (RIAs) with Accessibility" features speakers Nitin Dhaware and Nerkar Dnyaneshwar from Techvision, who emphasize the significance of web accessibility for users with disabilities. In their talk at RailsConf 2014, they address the pressing need for developers to create accessible web applications, focusing on WAI-ARIA guidelines and providing practical demonstrations.

Key points discussed in the video include:

- Introduction to Accessibility: The speakers introduce the concept of accessibility, explaining it as making web applications usable for everyone, particularly those with disabilities. They underline the prevalence of disabilities, noting that around 15% of people globally are affected, which presents a substantial customer base that developers can reach through accessible designs.

- Assistive Technologies: Nitin talks about various assistive technologies such as screen readers (like JAWS, VoiceOver, and Orca), which enable visually impaired users to interact with web applications. These technologies are crucial for understanding and navigating digital content.

- Evolution of Rich Internet Applications: The presentation highlights how rich internet applications have evolved to include more interactive elements compared to traditional web applications. However, many of these new features are not inherently accessible, and this is where WAI-ARIA (Accessible Rich Internet Applications) comes into play.

- Demonstrations of Accessibility: Throughout the talk, practical examples are provided using real code snippets to show how to implement ARIA attributes. This includes demonstrating accessible forms that communicate error messages effectively to screen readers, the use of ARIA roles such as 'tab', and creating accessible navigation panels.

- Building Accessible Applications: The speakers stress the importance of following best practices in accessibility to ensure that all users can utilize web applications efficiently. They also share their vision of creating a gem named ‘waiAble’ that would automate the incorporation of accessibility features in Rails applications.

In conclusion, the main takeaways from the presentation are:

- Accessibility should be a priority for developers to ensure inclusivity in web applications.

- Implementing assistive technologies and WAI-ARIA guidelines is essential in making applications accessible to individuals with disabilities.

- There is a significant business case for accessibility, as it opens up the web to a broader audience and can enhance user experience for everyone.

00:00:18.320 Hello, good morning friends.
00:00:27.359 A wonderful opening keynote by DHH. As DHH rightly mentioned, we should focus more on the clarity of our code rather than worrying about patterns and practices. However, I would like to elaborate on one more aspect called accessibility, which is crucial to making our code truly complete and clear.
00:00:42.000 My name is Gyani. I have been in the IT industry for the last ten years, and I have been working at a startup called Techvision for the past year. The uniqueness of Techvision is that 90% of its developers are blind. Some of you can see them on stage. Another unique aspect of this startup is that it is incubated by an NGO called Nivant. Nivant helps blind students discover their true identities and become part of the mainstream. So far, 1,500 blind students have benefited from the services of Nivant.
00:01:10.000 More about Techvision and Nivant will be elaborated by our colleague Siddhanth, who is also on stage. Friends, someone has rightly said that when the going gets tough, the tough get going. Many of us know this quote well, but very few can make it a reality. Standing here on stage, I am proud to say that our colleague and today's main speaker, Nitin, has made it a reality. Nitin is a blind Rubyist and has made technology his vision. Let's give a big round of applause for Nitin!
00:01:34.879 Are you ready for this special talk by a remarkable person? That’s great! Before we proceed, I would like to clarify that during our demonstrations, there will be instances where you will hear an audio that might be difficult to understand. Don’t get confused; it’s the screen reader that helps Nitin understand what is happening on his laptop screen. Without taking much of your time, I'll hand it over to Nitin.
00:02:01.600 Thank you, Gyani. Hello, everybody! Good morning! I'm Nitin, and I'm from Pune, India. I completed my graduation in politics, which is quite amusing since I'm now working in IT. My medium of instruction was Marathi, a regional language in India, and learning English has been a challenge for me, but I am continually improving. Thanks to the screen reader, 'Josh', which stands for Job Access with Speech, I have been able to not just use a computer but also improve my communication skills. I read news online, shop online, and the list is endless.
00:02:22.640 This opportunity also allowed me to start my own company, Techvision. This is the first international conference at which I'm speaking, and that has only been made possible because I can use a computer. Accessibility is the main agenda for today’s discussion. We will cover an overview of accessibility, discuss assistive technologies, rich internet applications, and accessible rich internet applications.
00:03:06.720 To begin with, assistive technologies include screen readers, magnifiers, and Braille viewers which help visually impaired people to access computers. For today’s discussion, we will focus on screen readers, which are software that read the screen and provide audio output. Some examples of screen readers are JAWS for Windows, VoiceOver for Mac, and Orca for Linux. Accessibility, in simple terms, means making something usable for everyone, regardless of their disabilities. It implies that people with disabilities should be able to perceive, navigate, and understand content on the web.
00:05:05.759 Now let’s examine how Rich Internet Applications (RIAs) have evolved. The traditional desktop application consists of controls like text boxes and buttons, along with rich widgets such as tab panels. A screen reader can identify these. However, in traditional web applications, while the same controls are there, rich widgets are not readily available and require JavaScript and CSS to be identified, meaning screen readers often struggle with them. In contrast, RIAs are designed with accessibility in mind, and when implemented correctly, a screen reader can recognize their widgets.
00:06:12.880 So how can screen readers identify RIAs? The answer lies in WAI-ARIA, which stands for Web Accessibility Initiative - Accessible Rich Internet Applications. ARIA is a suite of tools that helps make rich internet applications accessible, particularly dynamic content developed with JavaScript and AJAX. For instance, attributes in ARIA can convey important information about widgets, such as 'role' indicating a search area, 'aria-required' marking a field as mandatory, or states like 'aria-checked' indicating whether a checkbox is checked or unchecked.
00:07:33.680 Let's move on to the demonstrations. Starting with the RailsConf program page, it is fairly accessible as it uses HTML5, although there are still some areas that need improvement. Now let me demonstrate some of the regions on this page that the screen reader recognizes. These regions, such as sections and articles, are landmarks. However, just hearing 'region' from the screen reader may not provide enough clarity for users about what those regions contain.
00:09:01.600 Additionally, headings on the page are incorrectly used: H2 tags are utilized for lists rather than appropriate headings. This practice is not recommended as headings should denote the hierarchy and structure of the content in HTML. When we review an accessible version of this page, the landmarks are correctly identified, and necessary titles have been added using ARIA label properties. This allows the screen reader to provide users with clear information about each section.
00:09:41.840 Next, let’s examine some forms, which are critical components of web applications. In an inaccessible form demonstration, the errors are not clearly communicated to the users. For example, if a title field is mandatory but only marked in red, a screen reader may not convey this information. In contrast, an accessible form has error messages linked directly to their respective fields, so when users click them, they are directed immediately to the field needing correction. Moreover, fields now correctly announce themselves with their status, such as whether they are required. The ARIA properties ensure that users are aware of all requirements.
00:12:20.720 Additionally, let's discuss the concept of live regions—areas that are frequently updated via AJAX technologies. In an inaccessible example, although operators might be typing messages, the screen reader may fail to announce these updates. However, utilizing the ARIA live property allows for updated information to be conveyed effectively. For instance, properties such as 'polite' or 'assertive' indicate how the screen reader should present these updates, ensuring that users will receive timely notifications during their interactions.
00:15:41.680 Next, I will demonstrate an inaccessible and accessible tab panel. The inaccessible tab panel does not allow the screen reader to recognize it effectively, misreading tabs as links. In contrast, by utilizing appropriate ARIA roles—specifically, associating 'role=tab' and 'role=tablist'—the screen reader can correctly identify and announce each tab, enhancing navigation for visually impaired users and improving the overall user experience.
00:20:03.920 In closing, I would like to share that our efforts also involve building a gem called 'Viable,' which integrates accessibility features directly into Ruby on Rails applications. This enables developers to create inherently accessible applications by simply incorporating our gem. By adopting this gem, web applications will automatically provide the necessary ARIA attributes and properties, effectively streamlining the accessibility process.
00:25:12.320 I encourage everyone to consider the impact of making your web applications more accessible. With approximately 15% of the global population living with disabilities, improving accessibility can significantly expand your reach and ultimately benefit your business. Our team is committed to continuing our mission of promoting accessibility in technology, and I invite all of you to join us in this crucial endeavor.
00:27:12.240 I'll now hand it over to my colleague Siddhanth to speak about our work and initiatives. Thank you for listening, and remember, as Tim Berners-Lee says, 'The power of the web is in its universality. Access by everyone, regardless of disability, is an essential aspect.'