Given that this change can only _restrict_ the set of elements that now match `:enabled`, under what circumstances might we see `elem.disabled === false` **and** `elem.isDisabled === false` outside of form elements?

In other words, I think we can ignore `nodeName` for all values of `isDisabled`:
* `true`: don't match `:enabled` (new logic for excluding elements with disabled ancestors)
* `false`: match `:enabled` (new logic with no behavior change; non-form elements should already be excluded by `elem.disabled === false`)
* `undefined`: match `:enabled` (old logic with no behavior change; non-form elements should already be excluded by `elem.disabled === false`)