First off, tabindex on a DIV is nonsense, since DIV are not elements that can even recieve focus! That's "not a thing". That's the same reason that putting onclick onto non-navigable elements is dumbass. It's as silly as trying to set "focus" on mulitple elements in a row, when focus is a singular state that can only be on one element at a time!
If you have something you're going to want to be focused and be keyboard navigable, you are restricted to <a>nchor, <button>, <input>, <select>, <summary> and <textarea>.
The "don't use higher numbered tabindex" is also nonsense since quite often you might want the user to be able to navigate in an order that doesn't match your source. Sure, fixing the source order should be the proper answer, but often it's not viable without screwing over other stuff on the page.
You should also have mentioned tabindex="-1" which makes an element non-navigable. A lot of know-nothings rail against the use of that, but it is handy when you have focusable elements in the markup that are gibberish for non-visual UA's. Much akin to "hiding them".
On the subject of hidden elements, the outdated ARIA role -- like most of the garbage that is ARIA -- is redundant to proper HTML now that we have the hidden attribute.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden
The fun part being all modern UA's will hide it, and you can undo the hidden state -- such as for specific media targets -- by setting a display state in your CSS.
ARIA roles on the whole are a bunch of BS... like the ones for menus being open or closed, as if a screen reader or braille reader should even know what that means. That so many of the attributes actually say in their documentation "rather than use this role, use the proper markup" is why in general, they have no reason to even exist in the first place!
They sure as shine-ola do jack for non-visual accessibility.
The same can be said of the "new" structural tags. If numbered headings and horizontal rules mark the start of subsections or changes in thought, what purpose does SECTION have? Footers and headers are presentational concepts, non-visual doesn't care about presentation. MAIN is even redundant to the first H2 on a page if your document is well formed!
Don't even get me started about ASIDE, where the way most people are using it you might as well go back to tags like FONT and CENTER... and if one were to try and give it a semantic meaning, it would be limited to transcriptions of the Bard, Ferris Beuller, and Deadpool.
All and all this doesn't strike me as a comprehensive guide either, since you in no way address the visual aspects of accessible design. I agree the non-visual is ultra-important and should be the starting point of every design, but this is by no means a "thorough review".