295 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			295 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| <html>
 | |
| 	<head>
 | |
| 		<meta charset="utf-8">
 | |
| 		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
 | |
| 
 | |
| 		<title>reveal.js</title>
 | |
| 
 | |
| 		<link rel="stylesheet" href="css/reset.css">
 | |
| 		<link rel="stylesheet" href="css/reveal.css">
 | |
| 		<link rel="stylesheet" href="css/theme/black.css">
 | |
|     <link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">
 | |
| 
 | |
| 		<!-- Theme used for syntax highlighting of code -->
 | |
| 		<link rel="stylesheet" href="lib/css/monokai.css">
 | |
| 
 | |
|     <style>
 | |
|       .reveal pre code {
 | |
|         background: black;
 | |
|         padding-top: 1em;
 | |
|         padding-bottom: 1em;
 | |
|       }
 | |
|     </style>
 | |
| 
 | |
| 		<!-- Printing and PDF exports -->
 | |
| 		<script>
 | |
| 			var link = document.createElement( 'link' );
 | |
| 			link.rel = 'stylesheet';
 | |
| 			link.type = 'text/css';
 | |
| 			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
 | |
| 			document.getElementsByTagName( 'head' )[0].appendChild( link );
 | |
| 		</script>
 | |
| 	</head>
 | |
| 	<body>
 | |
| 		<div class="reveal">
 | |
| 			<div class="slides">
 | |
| 				<section class="text-left">
 | |
|           <h1 class="m-0 leading-none">
 | |
|             A11y First
 | |
|             <div>
 | |
|               <small>
 | |
|                 <span class="text-gray-600">&</span> Everyone Wins
 | |
|               </small>
 | |
|             </div>
 | |
|           </h1>
 | |
|           <h2>
 | |
|             <span class="text-yellow-400 text-4xl">
 | |
|               More Composable, Intuitive & Testable
 | |
|             </span>
 | |
|           </h2>
 | |
|           <small><a href="https://www.wroten.me/">Ava Gaiety Wroten</a></small>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <p>
 | |
|             Ava Wroten
 | |
|             <br>
 | |
|             <small>She/Her</small>
 | |
|           </p>
 | |
|           <img src="./photo.png" alt="" role="presentation" class="w-40 inline-block" />
 | |
|           <p>
 | |
|             Software Engineer at <a href="https://allovue.com/"><img src="./allovue.svg" alt="Allovue" class="inline-block pl-4 shadow-none" style="border: none; background: transparent; height: 1.25em;" /></a>
 | |
|           </p>
 | |
|           <p class="text-sm">
 | |
|             On Gitlab @gaiety
 | |
|             <span class="inline-block mx-4">
 | |
|               <img src="./avatar.png" alt="" role="presentation" class="inline-block w-20" />
 | |
|             </span>
 | |
|             Or Github @sharpshark28
 | |
|           </p>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>
 | |
|             We'll Discuss
 | |
|           </h2>
 | |
| 
 | |
|           <p>A project feature saved by A11y</p>
 | |
| 
 | |
|           <ul>
 | |
|             <li>Composable Components</li>
 | |
|             <li>Discoverable UX</li>
 | |
|             <li>Rendering Tests</li>
 | |
|           </ul>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>
 | |
|             Feature: <em>Item Reordering</em>
 | |
|           </h2>
 | |
|           <p class="fragment">Mouse Drag & Drop</p>
 | |
|           <p class="fragment text-gray-600">Do we support Touch?</p>
 | |
|           <p class="fragment text-yellow-400">What about A11y?</p>
 | |
| 
 | |
|           <aside class="notes">
 | |
|             Sounds simple enough. Perhaps, too "simple".
 | |
|           </aside>
 | |
|         </section>
 | |
| 
 | |
|         <section class="font-mono">
 | |
|           <p><span class="text-yellow-400">A11Y</span></p>
 | |
|           <p class="fragment"><span class="text-yellow-400">A</span>....11.....<span class="text-yellow-400">Y</span></p>
 | |
|           <p class="fragment"><span class="text-yellow-400">A</span>ccessibilit<span class="text-yellow-400">y</span></p>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <p>Equity</p>
 | |
| 
 | |
|           <aside class="notes">
 | |
|             At Allovue we talk Equity a lot. I was tasked with delivering a feature that not everyone could use. This felt unfair locking out opportunities to use parts of the app from some users.
 | |
|           </aside>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <div>
 | |
|             <cite class="text-sm text-gray-400">
 | |
|               World Health Organization
 | |
|             </cite>
 | |
|           </div>
 | |
|           <h2>
 | |
|             <span class="text-yellow-400">15%</span> of the World
 | |
|             <div>
 | |
|               <small>
 | |
|                 lives with some form of disability
 | |
|               </small>
 | |
|             </div>
 | |
|           </h2>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <p>Web assistive technologies commonly help with...</p>
 | |
|           <ul>
 | |
|             <li>Vision</li>
 | |
|             <li>Hearing</li>
 | |
|             <li>Movement</li>
 | |
|           </ul>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>Degrees of Disabilities</h2>
 | |
|           <p>Limited mobility, muscle slowness, tremors, low vision, color blindness, partial hearing loss, etc</p>
 | |
| 
 | |
|           <footer>
 | |
|             <p class="text-sm"><a href="https://accessibility.iu.edu/understanding-accessibility/types-of-disabilities.html">Indiana University on Types of Disabilities</a></p>
 | |
|           </footer>
 | |
| 
 | |
|           <aside class="notes">
 | |
|             There are other forms of disability as well as varying degrees of disability.
 | |
|             People are human, we have differing levels of ability.
 | |
|           </aside>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <p>👩🏽🔬 👨🏾🎨 👩🏻🔧 👨🏼✈️</p>
 | |
|           <p>I build software for humans</p>
 | |
| 
 | |
|           <aside class="notes">
 | |
|             I wouldn't be happy with myself if I shipped software that was completely unusable to some users in a shortsighted fashion.
 | |
|           </aside>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <p>So I did some research...</p>
 | |
|         </section>
 | |
| 
 | |
|         <section data-background-iframe="https://www.w3.org/TR/wai-aria-practices-1.1/examples/listbox/listbox-rearrangeable.html" data-background-interactive>
 | |
|           <aside class="notes">
 | |
|             This UI felt intuitive because it used existing UI elements and keyboard shortcuts I was familiar with.
 | |
|           </aside>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2><a href="https://github.com/adopted-ember-addons/ember-sortable">ember-sortable</a></h2>
 | |
| 
 | |
|           <p>✔️  Mouse Drag & Drop</p>
 | |
|           <p>✔️  Touch Drag & Drop</p>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>Component Structure</h2>
 | |
| 
 | |
|           <div class="flex">
 | |
|             <div data-markdown class="w-1/2">
 | |
|               ember-sortable
 | |
| 
 | |
|               ```html.hbs
 | |
|                 <SortableGroup>
 | |
| 
 | |
|                 <SortableItem>
 | |
|               ```
 | |
|             </div>
 | |
| 
 | |
|             <div data-markdown class="w-1/2">
 | |
|               Custom Wrappers
 | |
| 
 | |
|               ```html.hbs
 | |
|                 <SortableGroupAccessible>
 | |
| 
 | |
|                 <SortableItemAccessible>
 | |
|               ```
 | |
|             </div>
 | |
|           </div>
 | |
|         </section>
 | |
| 
 | |
|         <section data-background-iframe="http://localhost:4200/52958" data-background-interactive>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           TODO: TESTING
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           🎉 A11y allowed us to test reordering! 🎉
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>Team Wins</h2>
 | |
| 
 | |
|           <ul>
 | |
|             <li>
 | |
|               Quick Feedback Loop
 | |
|               <ul>
 | |
|                 <li><span class="text-gray-600">...with </span> development</li>
 | |
|                 <li><span class="text-gray-600">...with </span> design</li>
 | |
|                 <li><span class="text-gray-600">...with </span> project managers</li>
 | |
|               </ul>
 | |
|             </li>
 | |
|             <li>Sign off for UX</li>
 | |
|             <li>Less stress on QA</li>
 | |
|             <li>Less scope creep</li>
 | |
|           </ul>
 | |
|         </section>
 | |
| 
 | |
|         <section data-background-iframe="http://localhost:4201/52958" data-background-interactive>
 | |
|           <p>v2.x.x ember-sortable</p>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>Where do we go from here?</h2>
 | |
| 
 | |
|           <ul>
 | |
|             <li class="fragment"><a href="https://github.com/adopted-ember-addons/ember-sortable/pull/345">ember-sortable v2.2.x modifiers</a></li>
 | |
|             <li class="fragment"><a href="https://github.com/ember-a11y/ember-a11y-testing">ember-a11y-testing</a></li>
 | |
|           </ul>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>
 | |
|             Outro
 | |
|           </h2>
 | |
|           <ul>
 | |
|             <li>Adding Functionality w/ Composable Components</li>
 | |
|             <li>Equitable & Discoverable UX</li>
 | |
|             <li>Automation Testing A11y</li>
 | |
|           </ul>
 | |
|         </section>
 | |
| 
 | |
|         <section data-background-color="#5677e4">
 | |
|           <p><a href="https://allovue.com/about/careers"><img src="./allovue.svg" alt="Allovue" class="inline-block" style="border: none; background: none; height: 2em; box-shadow: none;" /></a></p>
 | |
|           <p><a href="https://allovue.com/about/careers" style="color: white">We are hiring!</a></p>
 | |
|         </section>
 | |
| 
 | |
|         <section>
 | |
|           <h2>Ava's Challenge to You</h2>
 | |
|           <p class="fragment">Hire someone different than you.</p>
 | |
|           <p class="fragment">Make A11y a priority at your next design meeting!</p>
 | |
| 
 | |
|           <aside class="notes">
 | |
|             Hire someone different than you: Race, Religion, Orientation, Gender, megablocks VS Legos.
 | |
|             And, finally, make A11y a priority. You may be surprised how many people thank you for it.
 | |
|           </aside>
 | |
|         </section>
 | |
| 			</div>
 | |
| 		</div>
 | |
| 
 | |
| 		<script src="js/reveal.js"></script>
 | |
| 
 | |
| 		<script>
 | |
| 			// More info about config & dependencies:
 | |
| 			// - https://github.com/hakimel/reveal.js#configuration
 | |
| 			// - https://github.com/hakimel/reveal.js#dependencies
 | |
| 			Reveal.initialize({
 | |
| 				hash: true,
 | |
|         progress: false,
 | |
|         transition: 'fade',
 | |
| 				dependencies: [
 | |
| 					{ src: 'plugin/markdown/marked.js' },
 | |
| 					{ src: 'plugin/markdown/markdown.js' },
 | |
| 					{ src: 'plugin/highlight/highlight.js' },
 | |
| 					{ src: 'plugin/notes/notes.js', async: true }
 | |
| 				]
 | |
| 			});
 | |
| 		</script>
 | |
| 	</body>
 | |
| </html>
 | 
