HTML5 upgrade: use range controls, clean up client side interaction