HTML Tips and Tricks
HTML tips that should help you when coding your web pages.
The HTML Title Tag
The HTML <title>
element is designed to provide a short piece of text that should stand for the document
in cases such as:
- window title bars
- bookmark lists
- result lists from search services
Tips for page titles:
- The closer a word is to the start of content, the more heavily weighted it is as a keyword.
- Keep the title text between 5 - 65 characters in length.
- For greatest efficiency and consistency, write titles using this syntax:
keyword phrase, category, web site title (or brand) - Title text unique on every page.
Meta Description Tag
- Create unique descriptions for each page, using keywords specific to that page
- Keep the description text between 110 and 160 characters in length
- Do not copy title tag text content as a description tags; this is a wasted opportunity to develop more keywords and adds no value.
- Make the description text unique on every page.
Meta Keyword Tag
- Choose words that may be secondary keyword terms (save the primary keywords for use in the <title> and <meta> description tags), and even include a few, commonly seen typographical errors of primary keywords, just for good measure
- Limit your keyword and key phrase text, separated by commas, to no more than 874 characters
- Don’t repeat a keyword more than 4 times among the keywords and phrases in the list
Meta Content-type Tag
UTF-8 most common choice used; more international.
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Link Tags
The <link>
tag with the canonical attribute also falls within the <head> tag. It’s used to establish
the canonical URL for a webpage (which is helpful for the search engines to know).
Below is a sample of the code for reference.
<link rel="canonical" href="#" />
Almost Always add a trailing slash to sub-folder references
If you link like this: href="https://www.w3schools.com/html", you will generate two HTTP requests to the server, because the server will add a slash to the address and create a new request like this: href="https://www.w3schools.com/html/"
Use Language Tags Where Needed
Accessibility at Penn State | Language Tags in HTML modeled a great accessibility article. A great site for many accessibility and html usages.
Another great list of language names ordered by code offered by WikiMedia - Meta-Wiki.
Dynamic Hypertext Markup Language (DHTML)
DHTML, or Dynamic Hypertext Markup Language is a marketing term coined by Netscape and Microsoft to describe a series of technologies introduced in their Version 4.0 Web browsers; such technologies may incorporate HTML, CSS, JavaScript, etc. to achieve "dynamic" web pages.
XHTML 1.0 Required Standards
Requirements by W3C for XHTML 1.0 standards include:
- XHTML elements must be properly nested,
- documents must be well-formed,
- tag names must be in lowercase, and
- all elements must be closed.
Example:
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Web Page Title</title>
<meta name="description" content="The University of Memphis ..." />
<meta name="keywords" content="university of memphis, memphis, university, tennessee" />
</head>
<body>
...
</body>
</html>
Also, XHTML:
- attribute values must be delimited with quotes; double or single,
Example:
Incorrect:<table summary=University of Memphis, Memphis, TN 38152.>
Correct:<table summary="University of Memphis, Memphis, TN 38152.">
- attribute minimization is forbidden,
Example:
Incorrect:<option selected >Quick Links</option>
Correct:<option selected="selected" >Quick Links</option>
- the id attribute replaces the name attribute,
Example:
Incorrect:<input name="searchterms" type="text" alt="search terms" />
Correct:<input type="text" alt="search terms" id="searchterms" />
- the XHTML DTD defines mandatory elements.
The <!DOCTYPE>
is mandatory in XHTML.
- XHTML Strict DTD
Use this DTD when you want clean markup, free of presentational clutter. Use this together with Cascading Style Sheets (CSS):<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- XHTML Transitional DTD
Use this DTD when you need to use XHTML's presentational features because your readers don't have browsers that support Cascading Style Sheets (CSS):<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
XHTML Frameset DTD
Use this DTD when you want to use frames!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML standalone or self-closing tags use the format <br />
or <hr/>
to properly close them. Also included are:
<img ... />
<br />
<hr />
<input ... />
<meta ... />
<link ... />
HTML <img>
tags require alt=""
, width=""
and height=""
properties to validate as XHTML 1.0.
HTML Accesskeys
HTML attribute <a href="" accesskey=""></a>
gives your clients the ability to set focus to your defined hyperlinks / values for
your allotted definitions. As an example, a site might use this feature, select the
Alt-h (Windows) or Cmd-h (Mac) keys simultaneously to set focus for this site's home
page; "h" equates to "home". Select Alt-m / Cmd-m in conjunction with the "m" key
sets focus for links to the University of Memphis web site; "m" equates to "memphis".
Access keys could be defined for a site as:
- Accesskey "1": Main Content
- Accesskey "2": Search
- Accesskey "3": Main Navigation Bar
- Accesskey "H": Home
- Accesskey "M": University of Memphis Home
XHTML 1.0 became an official W3C recommendation January 26, 2000.
XHTML stands for Extensible Hypertext Markup Language.
XSL in Internet Explorer 5 is not compatible with the official W3C XSL recommendation.
Table Rowspans Made Easy
If you have a cell that spans vertically to the bottom of the table, past rows that
might vary in number or are too numerous to easily count, just give it a rowspan
that you know is excessively high; in the example below, 99. Browser specification
states that browsers shouldn't create any extra rows.
It | |
doesn't | |
matter | |
how | |
many | |
rows | |
are | |
here. |
Example:
<table>
<tr>
<td> </td>
<td>It</td>
</tr>
<tr>
<td>doesn't</td>
</tr>
<tr>
<td>matter</td>
</tr>
<tr>
<td>how</td>
</tr>
<tr>
<td>many</td>
</tr>
<tr>
<td>rows</td>
</tr>
<tr>
<td>are</td>
</tr>
<tr>
<td>here.</td>
</tr>
</table>
Table Empty Cells
Great for HTML tables and Accessibility, H63: Using the scope attribute to associate header cells and data cells in data tables solves empty table header and data cells used in combination.
How to Incorporate Accessible HTML Frames (<frame>) and Inline iFrames (<iframe>)
Creating Accessible Frames, Inline Frame (iframe) Accessibility
WebAIM: Creating Accessible Frames and Iframes
When using hyperlinks, if you open a new browser window, alert your client that you're doing so; <a target="_blank" title="opens a new window">
Links to New Windows, Pop-ups, Other Frames, or External Web Sites
Example:<td><a href="#" target="_blank" title="myMemphis portal (link opens new window).">
<img height="50" width="140" alt="myMemphis" src="#" /></a>
</td>
It's all about semantics.
Summary:
Do NOT use HTML tags when attempting to achieve visual effects.
Examples:
<h1> - <h6>
Do NOT use text formatting, such as font size or bold to give the visual appearance
of headings - use actual heading for all content headings. Likewise, do not use headers
to achieve visual results only - use <strong> or <em> tags or CSS styles to achieve
visual appearances.
NOTE: Make sure your header tags are ordered correctly; ascending order.
<blockquote> - </blockquote>
Use blockquotes if the text within is a quote.
Do NOT use this tag for purposes of creating a visual indentation.
DO use CSS margins instead: <div style="margin:5%"></div>.
<b> - </b>
Bold tags connote visual emphasis, strong suggest semantic emphasis.
Do NOT use bold tags. They have been deprecated.
Do use <strong></strong> tags instead.
<i> - </i>
Italic tags connote visual emphasis, emphasis suggest semantic emphasis.
Do NOT use italic tags.
Do use <em></em> tags instead.