In October, energized by having just attended Accessibility Camp Toronto I quickly threw together a post titled Your computer school sucks. Looking back at a handful of my previous posts, they reminds me a bit of reading Nietzsche – not in terms of content, but in terms of consisting of a lot of criticism and not a lot of solutions. Today, I’d like to follow “Your computer school sucks” with some actual guidance for web developer training schools and bootcamps.
Do not treat accessibility as its own topic
A few years ago, I wrote a series of blog posts under the theme Selling Accessibility. The content for many of those posts was driven by interviews I did with a number of people in the accessibility field, one of whom was Cher Travis-Ellis from CSU Fresno. Higher Education has some unique challenges when it comes to online accessibility, especially when it comes to the amount of content being created and the large numbers of non-technical people who create that content. During our discussions, Cher shared with me a neat trick she used when training CSU Fresno staff on accessible content creation: add the accessibility training to all the other training. Unless there’s a really specific technique that deals only with accessibility, nobody really needs to know that you’re teaching them how to make something accessible. For instance, if you’re teaching someone how to use MS Word and you talk about using actual headings instead of bolded text, the accessibility aspect of that practice doesn’t really matter. In other words, you’re teaching people how to do a good job, anyway. The same thing goes for web development. Many accessibility best practices are also just quality best practices. Teach people how to do a good job and, when it comes to techniques that are specific to accessibility, that should be in the core curriculum too.
Discuss the role of "markup" in Hypertext markup language
One of the most important things that developers should learn about front-end development is the etymology of the term “HTML” and especially of what “markup” means. The act of “marking up” a document goes back to the early days of the letterpress. Back then, the publisher of the document would annotate a document’s content to give instructions for the press operator regarding how to lay out the document on the press. In other words, the markup gives meaning to the content. In HTML this also has important ramifications for not only the visual presentation of the website but also the meaning of the content when rendered in user-agents.
Discuss the Document Object Model, including Object-Oriented Principles like Abstraction, Inheritance, and Encapsulation
Your students aren’t going to your school to learn just HTML and CSS, but even if they were they need to know that their HTML, CSS, and JS is just a polite request to the browser and that ultimately the browser forms a DOM to represent the response to that request. By giving them a strong understanding of the DOM you will make them better developers overall.
Discuss user input devices
Similarly, it is crucial to impress upon your students the importance of quality. I don’t think that anyone actually wants to do a bad job, but I think developer training needs to focus more on specific approaches to ensuring quality. This includes obvious things like checking your work in different browsers, but hopefully also things like unit testing. Additionally it should include things like keyboard testing and other accessibility-specific tests.
Discuss basic user expectations, including predictability of the interface
Finally, we should expect more from our students, especially if they’re learning front-end development. Students should learn, understand, and internalize the notion that they’re ultimately creating something that people will use. In the long run, both the end user and their future employers will benefit.