Can someone elaborate on the accessibility issues?
The basic problem is that it's hard to navigate frames (and see when
frames are loaded with new content) when you've got a screen reader or
some similar program (or a braille machine). "Normal" visual browsers
show blocks of content in spatial relations, but browsers (or browser
extensions) catering to blind people have a hard time to make frames
easy to use, and it's in general best to have the document's structure
reflect the way you'd want to read it from top to bottom (and frames
subvert this by changing the overall content on the fly).
Not that javascript and/or iframes are much better in this regard. The
main problem seems to be that replacing/switching parts of a page is a
technique that's hard to make accessible to all users. Especially
users that can only read about one line of text at a time. It may be
better for those users to have a system that's based on "primitive"
full-page reloads. Provided they can navigate quickly to the sections
they're interested in (and leave out all the unnessary iframe / frame
/ div replacement / ajax stuff).
I've just done:
http://ClintonBushCharts.org with extensive nested
frames. I've been very pleased with the result. Would I have been
smarter to use CSS instead of frames?
It would be nice if it worked with javascript disabled. Especially
since it looks like most of the scripting does the equivalent of the
Flanagan is the single book recommended in the JS FAQ. Does[n't] he
deserve this?
Flanagan's book is only the best book that handles most browser
scripting. It's far from infallible, and contains some information
that's IMO pretty misleading, when you get down to the details. But I
think PointedEar's comment was uncalled for.
I've also read that you should avoid frames as they "break" search
crawlers. As I see it, the issue is using JS v. using <a href...> and
isn't really related to frames. Am I missing something on this, too?
Any search crawler worth its salt should handle frames. The main
problem as I hinted above is accessibility for people with visual
handicaps.