This package has pure Go implementation of some Document Object Model functions using golang.org/x/net/html.Node.
I often use this for testing HTML coming back from servers. I also am using it in Muxt. If you like hypertext, definitely go take a look.
It makes use of the awesome package andybalholm/cascadia.
The spec package specifies interfaces; dom has implementations.