Modern Web Design: XHTML, CSS, Unobtrusive JavaScript, and AJAX
NOTE: If you contribute, please leave your name next to your contributions, so I can credit you.
Demo
I want to demonstrate the creation of a web page. I want to start out with a basic HTML page,
then add CSS to make it look pretty. Then I want to add some (unobtrusive) JavaScript functionality,
such as form validation, navigation menus, tabs, tooltips, and maybe a WYSIWYG text area.
Then I want to add some AJAX.
I could use some ideas on what kind of page to use as a demo. Here are my ideas for consideration:
Outline
Intro
What is the goal of a web page?
HTML page should work in any browser, without
CSS, JS, or AJAX enabled
Don't assume anything about the browser
HTML 4.01 is about all you should rely on
Everything else is an optional improvement to the info presented by the
HTML
Page should work on any size display
Browser might even claim to be one browser/version, but actually be another
Always have fall-back functionality
-
XHTML is a little easier for server-side and JS to process than
HTML
Especially if transforming the document, like with XSLT
Or if translating from some other form of XML
No significant reason other than that to choose it over
HTML 4.01
When I refer to
HTML, I generally mean either XHTML or
HTML
Emphasize why we separate markup from presentation
Google, search engines, screen readers for the blind
Zeldman's arguments are good to use
Semantic meaning
Semantic web
Little semantic web
-
Selectors
Specificity
Attributes/values
How the browser loads a page (conceptually)
Unobtrusive JavaScript
There are several ways to add JavaScript to a page
on
event tags in
HTML elements
SCRIPT tags in
HTML header
external scripts
No JavaScript in the
HTML page at all; only REL references
JavaScript adds handlers to page elements by ID, class, or type
Uses for JavaScript
AJAX: Asynchronous JavaScript and XML
Means that the web page gets info from a server without reloading the page
New name, not all that new an idea/technique
Did we meet our goals?
HTML presents info to users quickly
HTML ensures
all readers can access the info
-
-
-
JS menus can help navigation
JS adds optional functionality
AJAX adds some optional functionality
BONUS:
References
Zeldman book, web sites
Unobtrusive JS
JS libraries
AJAX info