HTML - The Structural Layer

Web standards

What are standards?

The Internet is built on a set of rules that are developed and agreed by a cooperative effort and overseen by some internationally accepted standards organization. These technical and behavioral rules define standards which allow applications built to be used on the internet to work with the components of the internet. In some cases standards are absolutely mandatory if the application is to work (think TCP/IP); in others standards are a good idea that can make applications more efficient, less costly, and forward compatible.

It is good to know what the standards are

... so that we can know when and why we might have to deviate from them.

[top]

Advantages of standards

Current standards may not yet be mandatory, but knowing what they are and starting to use them will be helpful in the long run.

  • At a minimum, your use of standards will allow your work to be accessible to the widest possible audience.
  • Future standards will be built on current standards, so abiding by current standards will ensure that your work will be compatible with the future changes.
  • Building your work in conformance with standards will ensure that your work is easier to use when you engage in collaborative or cooperative work. If everyone uses the same understood protocols, everyone can work more smoothly.
  • Finally, adherence to standards makes for more efficient sites, sites that are faster and easier to download. Remember, if you want to catch the user's attention, you have to be quick. Standards help make you quick.

[top]

Current standards

structural layer - defining what an object means on a page

(another view of the layers)

  • SGML - the start of it all
  • XHTML 1.0 - HTML 4.01 rewritten according to the stricter syntax rules of XML
  • XHTML 1.1 - module-based XHTML; does away with deprecated and legacy elements
  • HTML5 is the next major revision of the HTML standard, currently under development
  • XML 1.0 - a set of rules for creating new markup languages

presentation layer - defining what an object looks like on a page

  • Cascading Style Sheets (CSS) Level 1 - rules that control the display of text, margins, and borders
  • CSS Level 2.1 - rules that control the absolute positioning of web page elements. Not yet fully implemented and current browsers provide inconsistent support for it
  • CSS Level 3 - designed to define rules for future modular development

[top]

What does that mean for us?

It means we will attempt to keep structure and presentation separate. For today, we will concentrate on structure by concentrating on HTML.

[top]


HTML overview

What is a markup language?

  • It's a collection of codes, embedded in a document, that explain the meaning or desired formatting of the marked text
  • It's a way of describing, using instructions buried in the document, what the document is supposed to look like
  • Every electronic text processing tool uses some kind of markup language, though you may not necessarily be able to see the commands

[top]

HTML The Hyper Text Markup Language

is simply one of many markup languages, but there are some key differences:

Presentational markup languages describe what things will look like

Semantic languages describe what things will mean

[top]

HTML Elements and tags

HTML follows the same three-part-instruction model used in command line situations

UNIX/LINUX ⇒ command argument value
HTML ⇒ tag attribute value

UNIX/LINUX ⇒ command argument value
HTML ⇒ tag attribute value

So an HTML tag is a form of a command, but this tag (command) is directed at the browser.

[top]

HTML Elements and tags

An element is composed of content that is to be displayed and tags that tell the browser what structure the content is to be understood to be.

For instance, these tags tell the content of the element how to display.

<b>content</b> tells the browser to show the word "content" as bold, or content

For another instance, these tags tell the content of the element how to display.

<i>content</i> tells the browser to show the word "content" as italicized, or content

Attributes and values of tags

Some elements - such as a Heading 4
can take
attributes that define the properties of the element - such as a style
and
values - such as centering

<h4 style="text-align:center;">centering a Heading 4</h4>
tells the browser to show the words "centering a Heading 4" in Heading 4 style and centered, or

centering a Heading 4

[top]

They follow rules about nesting and placement.

In general, both sides of the content must be balanced and consistent.

<p><h3 style="text-align:right;">the marked-up content</h3></p>
tells the browser to
open paragraph
    open heading 3 in a style in which the text is displayed to the right of the line
        the marked-up content
    close heading 3
close paragraph

in mirrored order
or, as it will display

the marked-up content

[top]

HyperText Document structure

  1. The <!DOCTYPE> declaration must be the very first thing in your HTML document, before the <html> tag. The <!DOCTYPE> declaration is not an HTML tag; it is an instruction to the web browser about what version of HTML the page is written in.
  2. <html> the outermost element, indicates that the enclosed text is html and therefore must use an html-capable program to open it
  3. <head> the first element inside <html> is the HEAD
    • a container for information about the document; this is where one might place meta-information about the document as well as the <title>page title</title>
    • remember, balanced and consistent; one must close the HEAD, </head>
  4. <body> the BODY element contains all the text and other material that is to be displayed
    • and, of course, the document is balanced as it is closed, </body>
  5. and consistent, as HTML is closed as well - </html>

So the structure should look like

<!DOCTYPE html version>
<!-- this is a comment; the html version should be specified -->
<html>
    <head>
        <title>page title</title>
    </head>

    <body>
        <p>a paragraph in the body of the page</p>
        <!-- this is a comment -->
    </body>
</html>

Although we can get away without putting end tags on elements (because many browsers are lax about it), we will adopt the habit of always closing any tag we open so that we are compliant with current and future standards.

[top]

    <head>
        <title> INLS201-002 Fall 2015 Information Tools | Sample Page </title>
        <meta name ="description" content ="sample page for INLS201-002 Fall 2015 Information Tools"  />
        <meta name ="keywords" content ="information literacy, information tools, information, tasks, hard coding"  />
        <meta http-equiv ="content-type" content ="text/html; charset=UTF-8"  />
        <link rel ="stylesheet" type ="text/css" href ="notyet.sample-style.css"  />
    </head>

Metadata typically define document title, styles, links, scripts, and other meta information.

[top]