Every one of those are things that the browser manages for you if you are using semantic markup and embracing web standards.