@jaffathecake it feels like anything but the first option is simply too "powerful" and invites abuse of <select> for other "DOM mirroring" purposes. I assume this issue only exists when JavaScript is used to mutate the DOM in the first place, so what's a little more JS to the user for implementing whatever behavior they actually want on top of Option 1?