I've been working with some dynamic text/font resizing tools recently. Some visitors over the last few days may have seen some of these efforts in progress, but I've just turned them off again until I get it all sorted.
In order to change the text size on a page after it's loaded, and without re-loading, one has to walk the DOM tree and re-calculate every font size on the page. There are actually a few open-source packages which will do the dirty work, but there are still a lot of issues. Almost all of these center around MSIE (why am I not surprised?). Additionally, it takes some work to get them to play nicely with sifr - the modern day equivalent of webfonts; which was abandoned around the turn of the millennium as being too infected with DRM controls to ever mass deploy.
Anyway, if you're interested in doing dynamic font scaling, I'd like to point you to JS magnifier, which is a pretty cool little app for walking the DOM and changing all the sizes. I had a bit of trouble with it on web forms, because it listens for key events, and if you type -,+,<,or > anywhere it changes the page size - even if you were typing these into a text field. Rather than modify the event listener to determine if it was a form and check the current focus, I just commented out the event listener and used JS links to activate the functions.
But then on IE, everything was screwed up. First of all, even with a setting of '0' (no change), the page always goes through a resize cycle after you load it, and a lot of inherited sizes got messed up and set to something obscenely small. You can fix these by declaring them '!important', but you'll likely end up with over half your size tags set to !important in order to render your original page anywhere close to what it was designed to look like.
The real trouble began however doing the DOM walk. IE does some real funny stuff to their DOM (this shouldn't be a surprise to anybody either). If you've got an embedded video, and there are any troubles loading the video, the entire DOM tree from that point forward seems to get rebuilt (resulting in the font size reverting for part of the page). The same thing happens if you've got AJAX-updated content on the page - every time there's an update, everything from that div to the end of the page reverts.
Looks like I'm back to square one. Think I'll go back to my original plan which I never quite finished implementing, but basically use proportional (em) fonts everywhere [this I do already], and then dynamically change the main body font declaration on the fly as the CSS page goes down the wire. This is hardly dynamic - it results in the need for a page reload to render everything correctly. At least it's portable and doesn't require javascript or depend on anybody's screwy DOM implementation. Oh well, live and learn I guess.
witticism just for you.
-- Larry Wall in <199702221943.LAA20388@wall.org>

Digg
Delicious
Netscape
Technorati
page if you want to change the default text size - which is now a smidgin smaller than it used to be. If you're logged in when you do this, your preferred size will be restored every time you login.