Earlier quoted context omitted.
Sounds like it's CSS' fault then. I think that just like they introduced `display:contents` to remove wrappers, they should also introduce a way to group elements as if they had a common ancestor. :wrap(dt, dt+dd) {border: solid 1px}
Proposal from 2016 (closed): https://github.com/w3c/csswg-drafts/issues/588
https://github.com/w3c/csswg-drafts/issues/2406
This proposal has the benefit of not violating the tree structure should multiple :wrap rules apply to overlapping elements.