When Is a Vetted Pattern No Longer a Vetted Pattern? | Adrian Roselli

When Is a Vetted Pattern No Longer a Vetted Pattern?

April 11, 2020; 2 Comments

The moment you change it.

As soon as you start to tweak the underlying code or aspects of the design, you run the risk of introducing bugs. That part should be easy for any developer to understand.

The tougher part to get your arms around is that once you add features that on their own may be perfectly valid, you can create an experience that does not make sense for your users. In some cases it can be completely unusable.

Examples

I’ll grab a couple examples to try to highlight my point. I am using patterns from WAI-ARIA Authoring Practices 1.1, whose interaction is well documented, even if the testing is less so.

Tabs

Let’s use a set of tabs as an example. The HTML, ARIA, CSS, and JavaScript needed to make a tab panel is generally well documented. In particular, regardless of how you choose your HTML elements and progressively enhance your tabs, the ARIA needed is very clear — at minimum you need to use tablist, tabpanel, and tab roles. Then there are various ways to assign accessible names, ensure you are conveying state properly, and build keyboard support.

You may [...]

Read article at adrianroselli.com

Article Taxonomies

Categories:
Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in /home/webable/www/www/wp-content/themes/webable/content-mcm.php:65 Stack trace: #0 /home/webable/www/www/wp-includes/template.php(812): require() #1 /home/webable/www/www/wp-includes/template.php(745): load_template('/home/webable/w...', false, Array) #2 /home/webable/www/www/wp-includes/general-template.php(206): locate_template(Array, true, false, Array) #3 /home/webable/www/www/wp-content/themes/webable/single-mcm_article.php(15): get_template_part('content-mcm') #4 /home/webable/www/www/wp-includes/template-loader.php(106): include('/home/webable/w...') #5 /home/webable/www/www/wp-blog-header.php(19): require_once('/home/webable/w...') #6 /home/webable/www/www/index.php(17): require('/home/webable/w...') #7 {main} thrown in /home/webable/www/www/wp-content/themes/webable/content-mcm.php on line 65