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.'