When you don't have need of an alt attribute, add one but keep it empty. In the absence of an alt attribute some screen readers will read out the path of the image instead. Setting it to empty allows you to remove this, almost always, unnecessary noise.
See https://developer.mozilla.org/en-US/docs/HTML/Element/input Permitted content: None, this is a void element.
And https://developer.mozilla.org/en-US/docs/HTML/Element/label for an example of doing it correctly
The HTML <label> Element represents a caption for an item in a user interface. It can be associated with a control either by using the for attribute, or by placing the control element inside the label element.
As long as you use the for attribute, it's fine.
<input type="text" required><label>Social Security Number</label></input>
Should be marked up as <label>Social Security Number<input type="text" required /></label>
if you want to omit the 'for' attribute.Doing it the wrong way around will still render as you expect, but defeats the purpose as you won't get the click-to-activate behaviour.
Number 8 is not completely correct anymore. Javascript was recently included in the accessible tecnologies. Screen readers nowadays do own a DOM and a full rendering stack. ARIA, in fact, dictates a lot of interesting accessibility states and tools. That said, I do not push forward the use of javascript for structural functionalities, the rule that states that "Javascript is an enhancement" still works and will always work, but excluding enhancements for accessibility is naïve as far as the naïvete of the implementation.
Ideally, you'd use them in combination for future proofing. It takes a little work, but you can arrive at the same general outline from both algorithms, since the new one ignores the ordinality of the h tag.
For instance, the WGAC 2.0 guidelines require that HTML be valid, and if a client wants WGAC 2.0 compliance (even A level, not AA), the site's gotta validate [1].
[1] http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-pars...
[1] [shameless self-promotion] http://jakub-g.github.com/accessibility/onclick/ - comprehensive cross-browser study of 'onclick' handling from JavaScript