惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Spread Privacy
Spread Privacy
K
Kaspersky official blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Forbes - Security
Forbes - Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
The Last Watchdog
The Last Watchdog
SecWiki News
SecWiki News
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
Security Latest
Security Latest
TaoSecurity Blog
TaoSecurity Blog
Cyberwarzone
Cyberwarzone
S
SegmentFault 最新的问题
Cloudbric
Cloudbric
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
H
Hacker News: Front Page
C
Cybersecurity and Infrastructure Security Agency CISA
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
AWS News Blog
AWS News Blog
AI
AI
G
GRAHAM CLULEY
IT之家
IT之家
P
Privacy & Cybersecurity Law Blog
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
D
Docker
Recent Announcements
Recent Announcements
O
OpenAI News
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
S
Security @ Cisco Blogs
T
Troy Hunt's Blog
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
N
News and Events Feed by Topic

MarcySutton.com RSS Feed

On Joining Khan Academy Developing anti-SLAPP policies for A11y Slack with Harvard Cyberlaw Clinic Focus on What Matters Celebrating One Year of Independence as Modern Sole Design, LLC Evinced is Pushing the Limits of Automated Accessibility Testing Content-visibility and Accessible Semantics Finding accessibility jobs in specialized companies and the mainstream Outsider Leverage and Accessibility Encouraging Open Source Contributions with Docs: a Self-Fulfilling Prophecy Remote Work and Van Life Salary and Career Growth On Great Leadership, Gatsby & Girl Develop It The Deal with Developer Advocacy Live Coding Accessibility Chapter Two at Deque 2017, in Music Writing winning abstracts Accessibility is a Civil Right 2016, a Year of Milestones Best of 2016 Music Links vs. Buttons in Modern Web Applications Accessibility and Performance I won an O Web Accessibility Resources This is what a developer looks like. What Wally On writing better captions for images What I’ve Learned Working on a Large Open-Source Framework Speak at your local elementary school. Button Focus Hell Page Scrolling in Mobile Safari & VoiceOver Accessibility Wins Notes from CSUN 2015 Protractor Accessibility Plugin Riding a bicycle to an accessibility conference 2014: One to Remember AngularJS Material Design & ngAria Summing Up JSConf EU 2014 How I Audit a Website for Accessibility Accessibility and the Shadow DOM: JSConf Australia 2014 CSUN 2014 Conference Recap Accessibility and the Shadow DOM Favorite Music 2013 Girl Develop It Web Accessibility Mobile Web Accessibility with VoiceOver Webstock & NZ 2013 Favorite Music 2012 Target Corporate Site Redesign: Accessible & Responsive Web Development Decibel Festival Recap 2012 Favorite Music 2011 Spiceboard: Wordpress Recipes for iPad POP Clock Favorite Music 2010 CSS + JS + Accessibility Christmas JS1k Zend Framework. NACCC Urban Type Sutton RV Simplexml in php 5 AS3 Load Workflow AS3 Mouse Events Holiday 2009 Why Outlook Sucks
Prototype Testing for Accessible Client-Side Routing
2019-03-12 · via MarcySutton.com RSS Feed

March 12, 2019

Update: In July 2019, I worked with Fable Tech Labs to conduct research on client-side routing and accessibility using the prototypes outlined in this post. You can read the results on the Gatsby blog: https://www.gatsbyjs.org/blog/2019-07-11-user-testing-accessible-client-routing/

A talk on this subject was also done as part of the Inclusive Design 24 conference, and can be viewed online: https://www.youtube-nocookie.com/embed/Tr21FqQQv-U


Since the 2019 CSUN Assistive Technology conference, I’ve been conducting prototype testing with users with disabilities to learn how to best support accessible navigation of client-rendered websites. My goal is to determine common user preferences amongst the many possible techniques: are there any clear winners?

I hope to identify patterns that can influence the JavaScript frameworks and libraries of today, and potentially the web platform APIs of tomorrow. When we pull this off together, we can help to improve accessibility defaults in client-rendered web applications and make a big impact for users across the globe.

Background

When building JavaScript-heavy websites and web applications with popular frameworks and libraries like React, Vue, Ember, Angular and so on, parts of a page can change without a traditional page reload (we call them “view changes”). This paradigm requires developers to manually manage focus and screen reader announcements to ensure assistive technology and keyboard-only users aren’t left behind while sighted mouse users can follow along. JavaScript “client-rendering” of this nature–as opposed to rendering views on the server–requires developers to do some work to create an accessible user experience.

Except those of us in the community who work with accessibility regularly still can’t quite agree on a best practice: should we send focus to a heading, or a wrapper element? Should we announce a page change with ARIA live regions? Even with tools like Reach Router for React, which was developed with accessibility in mind, there are still questions about which technique works best. At Gatsby, we’re highly committed to creating accessible defaults that work for users.

So I figured, why not take the opportunity to test with users with disabilities at one of the biggest accessibility conferences in the world (CSUN) and beyond? As a web accessibility advocate, I see broad and lasting value in conducting these tests to determine best practices moving forward. Simply put: no matter the framework, we all stand to benefit.

What are Prototypes?

Prototypes in this case are basic interactive code demos that are mostly identical in content, but differ in user interactions, to test rapidly and provide feedback of what works and what doesn’t with minimal investment.

Each prototype has a header describing the example, with a navigation panel and main content area below. When a user clicks on a navigation link, it changes the main content area to show a new “view” with a heading and text content. The differences lie in how keyboard focus is handled with JavaScript: where it leaves a keyboard or screen reader user on the page, and what information (if any) is announced in the screen reader.

Testing objectives

Prototype testing of this nature should 15-30 minutes of your time. Ideally you can pull up my prototypes on your own computer and navigate through them, while I take notes and/or record your experience (with permission, of course).

What I would like to know:

  • Which technique is the most ergonomic and intuitive for you?
  • Do any of the techniques present barriers that detract from your browsing experience?

As a user with a disability, your participation in this study can help to move the web forward. Your insights are truly valuable in the world of shiny JavaScript web applications, as they can influence implementations in reusable frameworks, UI libraries, and potentially even web standards.

Let’s make it happen

If you or someone you know is interested in participating in this study, please get in touch with me to set up a time to meet:

If you’re more interested in providing feedback online than meeting in person, you can also review the prototypes for yourself and then contact me: https://marcy.codes/prototypes/routing/

No matter your feedback preferences, please get in touch. I look forward to working with you!