Nodes with editable content. Nodes without content (leaf nodes) and nodes explicitly marked so that their content isn’t editable count as atoms.
Yes, if you want selection to behave differently from what the browser does natively, you’ll have to override arrow keys, possibly home/end, shift-variations on those, and pointer selection for the node.