Logo

    How we’re making Stack Overflow more accessible

    enAugust 09, 2024
    What is 'accessibility debt' as mentioned in the text?
    How does Stack Overflow prioritize its accessibility initiatives?
    What role do automated tools play in accessibility testing?
    Why is ongoing education important for accessibility efforts?
    What are 'accessibility bytes' mentioned in the podcast?

    Podcast Summary

    • Stack Overflow's approach to accessibilityStack Overflow shifted from a reactive to a proactive approach to accessibility by prioritizing it, measuring progress, and making it a part of their architecture to create a better user experience for all and meet legal requirements.

      Having an overall plan and philosophy towards accessibility is crucial for any tech company, as discussed on the Stack Overflow Podcast by Ryan Donovan, Dan Cormier, and Red Turning. Previously, Stack Overflow reacted to accessibility issues on a case-by-case basis, but lacked a consistent approach and a way to measure progress. This led to a reactive and piecemeal approach, which could be described as "accessibility debt." To address this, Stack Overflow decided to prioritize accessibility and make it a part of their architecture. They began measuring the accessibility status of their products and prioritizing fixes based on impact. This shift towards a proactive approach not only benefits individuals with disabilities but also aligns with the company's core values of flexibility and inclusivity, as well as meeting legal requirements. By making accessibility a priority, Stack Overflow is able to create a better user experience for all users and ensure their products are accessible to as many people as possible.

    • Color contrast testingIdentifying the need to go beyond common guidelines, the team adopted the Advanced Perceptual Contrast Algorithm (APCA) and developed custom tools to test their UI for optimal color contrast, ensuring a more inclusive user experience.

      Establishing clear accessibility goals and expectations is crucial for ensuring a user-friendly experience for all users, particularly those with disabilities. In the case discussed, the team identified issues with color contrast, specifically with their frequent use of the color orange. They found that the WCAG color contrast algorithm, while a common guideline, was not sufficient for their needs. Instead, they adopted the Advanced Perceptual Contrast Algorithm (APCA) and even developed custom tools to test their UI against it. This journey involved overcoming challenges with documentation and implementation, but ultimately led to a more human-centered approach to accessibility. The team's experience highlights the importance of going beyond assumptions and guidelines, and actively testing and adjusting to ensure the best possible user experience for all.

    • Accessibility testingAutomated testing with accessibility checks and manual testing complement each other in ensuring comprehensive accessibility improvements for digital products.

      The team behind the design system for their product prioritized improving accessibility by trusting research and expertise from the Accessible Rich Internet Applications (ARIA) community. They started by focusing on color contrast and implemented visual regression testing with accessibility checks. They leveraged existing tools and algorithms, such as those developed by an active community member with a background in film and visual design, to help automate testing. However, they recognized that these tools couldn't catch all accessibility issues and needed to supplement them with manual testing and cataloging of issues related to screen reader experience and other areas. By combining automated and manual testing, they were able to measure and improve the accessibility of their product more effectively.

    • Digital product accessibility testingAutomated tools help identify accessibility issues but manual testing is necessary to address issues missed by them. Regular discussions, training sessions, and an accessibility champions group promote a culture of accessibility within the organization.

      Achieving 100% accessibility for digital products is an ongoing process rather than a definitive goal. While automated tools can help identify many accessibility issues, they cannot catch everything. Manual testing is necessary to address issues that automated tools miss, such as error messages not announced to screen readers. The score representing the accessibility level of a product is an average of manual and automated testing. Maintaining a catalog of potential accessibility issues is crucial for continuous improvement. The score serves as a demonstration of progress and helps motivate teams to prioritize accessibility. Regular discussions and training sessions, led by an accessibility champions group, are essential for promoting a culture of accessibility within the organization.

    • Accessibility initiativesImplement accessibility score tracking, establish SLIs/SLAs, and launch organization-wide education initiatives to prioritize accessibility in product development.

      Accessibility is an ongoing process that requires continuous effort and education. The team discussed their approach to integrating accessibility into their product development life cycle, aiming to shift it as far left as possible. They have launched initiatives like "accessibility bytes" for organization-wide education, implemented accessibility score tracking as a regular service level indicator, and established service level objectives and alarms for accessibility regressions. They also emphasized the importance of knowledge sharing and testing to address accessibility issues. The team acknowledged that accessibility may not follow a direct line of logic and can require manual testing and education. They encouraged the importance of understanding accessibility as a crucial aspect of product development and learning from each other to create more inclusive digital experiences.

    • Accessible digital productsUsing semantic HTML and proper markup is crucial for creating accessible digital products, benefiting individuals with disabilities and adhering to best practices. Well-documented and open-source resources are essential for learning and contributing back to the community.

      Creating accessible digital products is a crucial aspect of modern web development. Using semantic HTML and proper markup is a significant step towards making digital content accessible to a wider audience, including individuals with disabilities. This not only benefits the end-users but also adheres to best practices and expectations of assistive technologies. Additionally, the importance of well-documented and open-source resources, such as documentation and code, cannot be overstated as they help developers learn and contribute back to the community. Overall, prioritizing accessibility in web development is a collective effort, and everyone can contribute in their unique way.

    Recent Episodes from The Stack Overflow Podcast

    The world’s largest open-source business has plans for enhancing LLMs

    The world’s largest open-source business has plans for enhancing LLMs

    Red Hat Enterprise Linux may be the world’s largest open-source software business. You can dive into the docs here.

    Created by IBM and Red Hat, InstructLab is an open-source project for enhancing LLMs. Learn more here or join the community on GitHub.

    Connect with Scott on LinkedIn.  

    User AffluentOwl earned a Great Question badge by wondering How to force JavaScript to deep copy a string?

    The evolution of full stack engineers

    The evolution of full stack engineers

    From her early days coding on a TI-84 calculator, to working as an engineer at IBM, to pivoting over to her new role in DevRel, speaking, and community, Mrina has seen the world of coding from many angles. 

    You can follow her on Twitter here and on LinkedIn here.

    You can learn more about CK editor here and TinyMCE here.

    Congrats to Stack Overflow user NYI for earning a great question badge by asking: 

    How do I convert a bare git repository into a normal one (in-place)?

    The Stack Overflow Podcast
    enSeptember 10, 2024

    At scale, anything that could fail definitely will

    At scale, anything that could fail definitely will

    Pradeep talks about building at global scale and preparing for inevitable system failures. He talks about extra layers of security, including viewing your own VMs as untrustworthy. And he lays out where he thinks the world of cloud computing is headed as GenAI becomes a bigger piece of many company’s tech stack. 

    You can find Pradeep on LinkedIn. He also writes a blog and hosts a podcast over at Oracle First Principles

    Congrats to Stack Overflow user shantanu, who earned a Great Question badge for asking: 

    Which shell I am using in mac?

     Over 100,000 people have benefited from your curiosity.

    The Stack Overflow Podcast
    enSeptember 03, 2024

    Mobile Observability: monitoring performance through cracked screens, old batteries, and crappy Wi-Fi

    Mobile Observability: monitoring performance through cracked screens, old batteries, and crappy Wi-Fi

    You can learn more about Austin on LinkedIn and check out a blog he wrote on building the SDK for Open Telemetry here.

    You can find Austin at the CNCF Slack community, in the OTel SIG channel, or the client-side SIG channels. The calendar is public on opentelemetry.io. Embrace has its own Slack community to talk all things Embrace or all things mobile observability. You can join that by going to embrace.io as well.

    Congrats to Stack Overflow user Cottentail for earning an Illuminator badge, awarded when a user edits and answers 500 questions, both actions within 12 hours.

    Where does Postgres fit in a world of GenAI and vector databases?

    Where does Postgres fit in a world of GenAI and vector databases?

    For the last two years, Postgres has been the most popular database among respondents to our Annual Developer Survey. 

    Timescale is a startup working on an open-source PostgreSQEL stack for AI applications. You can follow the company on X and check out their work on GitHub

    You can learn more about Avthar on his website and on LinkedIn

    Congrats to Stack Overflow user Haymaker for earning a Great Question badge. They asked: 

    How Can I Override the Default SQLConnection Timeout

    ? Nearly 250,000 other people have been curious about this same question.

    Ryan Dahl explains why Deno had to evolve with version 2.0

    Ryan Dahl explains why Deno had to evolve with version 2.0

    If you’ve never seen it, check out Ryan’s classic talk, 10 Things I Regret About Node.JS, which gives a great overview of the reasons he felt compelled to create Deno.

    You can learn more about Ryan on Wikipedia, his website, and his Github page.

    To learn more about Deno 2.0, listen to Ryan talk about it here and check out the project’s Github page here.

    Congrats to Hugo G, who earned a Great Answer Badge for his input on the following question: 

    How can I declare and use Boolean variables in a shell script?

    Battling ticket bots and untangling taxes at the frontiers of e-commerce

    Battling ticket bots and untangling taxes at the frontiers of e-commerce

    You can find Ilya on LinkedIn here.

    You can listen to Ilya talk about Commerce Components here, a system he describes as a "modern way to approach your commerce architecture without reducing it to a (false) binary choice between microservices and monoliths."

    As Ilya notes, “there are a lot of interesting implications for runtime and how we're solving it at Shopify. There is a direct bridge there to a performance conversation as well: moving untrusted scripts off the main thread, sandboxing UI extensions, and more.” 

    No badge winner today. Instead, user Kaizen has a question about Shopify that still needs an answer. Maybe you can help! 

    How to Activate Shopify Web Pixel Extension on Production Store?

    Scaling systems to manage the data about the data

    Scaling systems to manage the data about the data

    Coalesce is a solution to transform data at scale. 

    You can find Satish on LinkedIn

    We previously spoke to Satish for a Q&A on the blog: AI is only as good as the data: Q&A with Satish Jayanthi of Coalesce

    We previously covered metadata on the blog: Metadata, not data, is what drags your database down

    Congrats to Lifeboat winner nwinkler for saving this question with a great answer: Docker run hello-world not working