Excellent article, Andrew.
Most forms suffer from one of more of the “Don’t” design choices that this article neatly summarises and it’s great to see recommendations clearly illustrated.
Reference “Group related information”, form groups should be achieved using <fieldset> containers with section names rendered as <legends>. Historically these were a pain to style reliably cross-browser but are much easier these days.
Another item for consideration is form length — consider chunking forms into separate pages if they become long and unwieldy.