Tuesday, March 3, 2009
introduction to HTML
What is HTML
* Hyper is the opposite of linear. It used to be that computer programs had to move in a linear fashion. This before this, this before this, and so on. HTML does not hold to that pattern and allows the person viewing the World Wide Web page to go anywhere, any time they want.
* Text is what you will use. English letters, just like you use everyday..
* Markup is what you will do. You will write in plain English and then mark up what you wrote.
* Language. Some may argue that technically html is a code, but you write html in plain, everyday English language.
HTML is the code behind your webpage and is what your browser looks for to display a webpage, the way the webdesigner intended it to look, and is a series of tags
Keep this in mind: HTML documents must be text only.
When you save a HTML document, you must save only the text, nothing else. HTML browsers can only read text. Look at your keyboard. See the letters and numbers and little signs like % and @ and *? There are 128 in all (read upper- and lowercase letters as two). That's text. That's what the browser reads. It simply doesn't understand anything else.
Remember that if you are using Notepad, Wordpad, or Simple Text, the document will be saved as text with no extra prompting. Just choose SAVE.
If you are going to start learning to write HTML, it is a good idea to learn to look at other authors' HTML pages. The actual html potion of the page behind the pretty page you see in front of you now.
Looking at another's html code helps you learn how things are done and you can copy the style of pages that you like. Please do not just steal and copy the pages, but no one will be upset if you make the style in much the same way. For example, if you were going to build a house, you would look around to see what styles you like before deciding on your own design. Same thing here, look around the web and see what styles you like and apply them to your own ideas.
Here's how you look at an HTML document (known as the "source code")
* When you find a page you like, click on VIEW at the top of the screen.
* Choose SOURCE from the menu.
* The HTML document will appear on the screen.
Try it with this page. Click on VIEW and then choose the SOURCE.
It will look like mumbo jumbo right now, but soon it'll be readable and you'll be able to find exactly how a certain HTML presentation was performed.
What are HTML Tags?
HTML works in a very simple, very logical, format. It reads like you do, top to bottom, left to right. HTML is written with TEXT. What you use to set certain sections apart as bigger text, smaller text, bold text, underlined text, is a series of tags.
Think of tags as commands. For example if you want a line of text to be bold. You will put a tag at the exact point you want the bold lettering to start
All tags that are opened must correspondingly be closed, just as if you are writing a quoted statement with those "inverted commas". A tag is closed this way therefore we open a new tag
Basic HTML Tags
* A tag is a method of formatting HTML documents.
* With tags you can create italic or bold characters, make things blink, and can control the color and size of the lettering.
* Tags can be "nested". This means that you can make something bold and italic and green and blinking by simply surrounding the previous tag with the next.
* Tags can be used to insert pictures and graphics.
* Tags can be used to create bulleted lists like this one, or numbered lists.
* Tags look something like this: chosen text .
* All tags use the < and > (less-than and greater-than symbols) to signal the browser. These are located above the comma and period keys.
* Within a tag, capitalization doesn't matter. FONT is the same as font or Font . I usually don't bother capitalizing when I use tags. Below, I have used capital letters when I felt that the number "1" and the letter "l" might be confused.
* It is essential to always close the tags! If not, the formatting will contaminate everything that follows it. But don't panic, closing tags is very easy, and even the most experienced surfers sometimes forget.
Italics
To make italics surround the chosen text with these tags:
chosen text
The "/i" tag is essential; this will close the tag and stop the italics. If this is not done, all the text which follows the first, i , tag will appear italicized.
Bold Lettering
To make letters bold surround the chosen text with these tags:
chosen text
The "/b" tag is essential; this will close the tag and stop the bold lettering. If this is not done, all the text which follows the first, b , tag will appear in bold.
Changing Font Size
There are three different ways to change the size of the font. Method 1, Method 2, and Method 3.
Also see below on how to change both the size and the color of the font at the same time.
1. The first method is to use the "big" and "small" tags.
For example, to increase the font by one degree surround the text with the following tags:
chosen text
If you want to make it even bigger, you surround it again:
chosen text
To make the font small, surround it with the small tag:
chosen text
If you want to make it even smaller, surround it with the tag again:
chosen text
The "/big" and "/small" tags are essential; they will close the tag and stop the special formatting. If this is not done, all the text which follows the first, or , tag will appear in the altered size.
2. The second method is to directly change the font size.
You can use + and - along with a number to shrink and grow the font:
chosen text
chosen text .........(same as )
chosen text .........(plain text)
chosen text .........(same as )
chosen text
Notice that when you get to larger fonts they tend to appear bold.
The " /font " tag is essential; it will close the tag and define the end of the specialized formatting. If this is not done, all the text which follows the first, font size= , tag will appear in the altered size.
3. The third method is to use what are called headers.
Headers are abbreviated with the letter "h" and a number from 1 to 6. For example:
chosen text
Along with the tag, I will demonstrate the result for each:
chosen text
chosen text
chosen text
chosen text
chosen text
chosen text
Notice that the header method also utilizes a bold font.
The "/h# " tag is essential; it will close the tag and define the end of the specialized formatting. If this is not done, all the text which follows the first,
Blinking Text
To make text blink surround the chosen text with these tags:
Note: This will not show up if you are using Microsoft Explorer (Blame it on Bill Gates!).
The "/blink" tag is essential; this will close the tag and signal the end of the special formatting. If this is not done, all the text which follows the first,
Text Formating tags
Text formatting, in html terms, is when you give the browser instructions on how your text should look. These instructions come in the form of tags, and you'll learn these now.
Colour
You can specify which colour you want to use for all the text on your web page. The browser default is black, so you only really need to specify a colour if you don't want black. Here's how to do it.
*
Start your HTML Editor
*
Click File > New
*
Set a background colour and click OK
*
When you see the code, locate the first BODY tag
*
Click your cursor after the "Y" of BODY
*
Press the spacebar on your keyboard
*
Type in TEXT =
*
Then type a colour for your text
*
In between the two BODY tags, start typing you text
*
Save your web page, and then view the results
*
In the code below, the text has been set to Blue
If all you want to do is to change the colour of some text between the BODY tags, your HTML editor has a quick way of doing that.
*
Highlight the text whose colour you want to change
*
From the menu bar, click on Format > Text Colour
*
The Colour dialogue box appears
*
Choose a colour by clicking on a colour square
*
Click OK
Headings
You've already met the Headings tag. If you'll remember, the Heading tag uses the letter "H" followed by a number. Like this:
My Heading
or like this:
My Heading
The heading tag increases or decreases text size above or below the default size. The default size is 3. The biggest size is 1, and the smallest 7.
The heading tag will automatically insert a line break for you, so you don't have to insert a
or
tag after it to start a new line.
To insert a Heading tag with the HTML Editor, click on Insert > Heading then choose a Heading size. Only size 1 to 4 are used in the editor. But bear in mind, you can go as low as size 7.
When you click on a heading size, the beginning and end Tag will be inserted with the cursor flashing between the two:
The forward slash, remember, tells the browser to stop formatting a tag. In this case, stop formatting the H1 heading tag.
With the cursor flashing between the two tags, type your text for the heading.
Centring Text
To centre text (and anything else on your page), the CENTER tag is used. Note the American spelling, with "ER" at the end and not "RE". To centre something with the HTML Editor, do the following:
*
Highlight whatever you want to centre
*
From the menu bar, click on Format > Centre
*
The two CENTER tags will surround your highlighted text
*
Save your work and view the results in your browser
In this lesson, we'll continue our look at the basic text formatting tags available to you in HTML
Bold Text
You can make text stand out by using the bold tag.
*
In your Editor, highlight the text you want to make bold
*
From the menu bar, click on Format > Bold
*
The two tags will surround your highlighted text
*
Save your work and view the results in your browser
Bold Text
Italics
The HTML tag to make text italic is as simple as the "B" tag for bold text. With your HTML editor, do the following:
*
Highlight the text for the italics
*
From the menu bar, click on Format > Italics
*
The two tags will surround your highlighted text
*
Save your work and view the results in your browser
Subscript
Subscript is text that appears below normal text. Like this:
50p
You can have Subscript in your HTML code quite easily. To format text as subscript using your HTML editor, do this:
*
Highlight the text you want to turn into subscript
*
From the menu bar, click on Format > Subscript
*
The two tags will surround your highlighted text
*
Save your work and view the results in your browser
Superscript
Superscript is text that is raised slightly above the centre. Like this
24th
To format text as superscript using your HTML editor, do this:
*
Highlight the text you want to turn into superscript
*
From the menu bar, click on Format > Superscript
*
The two tags will surround your highlighted text
*
Save your work and view the results in your browser
PRE tag
The HTML pre tags are used to define the HTML pre element. The HTML pre element begins with the HTML
tag and ends with the HTMLtag. The HTML pre element is used to direct the browser to display a section of text exactly as it is typed with spaces and line feeds included.
HTML Pre Element Attributes
HTML "pre" element attributes include:
* width - (Depreciated). The "width" attribute specifies the number of characters across the screen to display. This is very rarely used. An example of its use is blockquote width="20"
* class - The class attribute is used in conjunction with style sheets to associate an element with a class. The class attribute can set a class for specific element types or it can be independent of element types and work for all elements. The class attribute will provide the settings for specific style formatting. CSS properties are shown at the CSS Properties page.
* ID - The ID attribute is used to apply style settings to specific individual HTML elements.
* style - The style attribute is used to apply style settings for the specific element the style attribute is included with. An example is"
- This sets the style or color of the text. This statement starts a paragraph with color, green:
. The STYLE attribute is common to most HTML elements (See the CSS Properties page).
* title - Used to give specific elements a title which may appear as a tooltip in some browsers when the mouse is held at or near the element.
HTML Pre Element Contents
The HTML pre element may contain other inline elements except "img", "object", "applet", "big", "small", "sub", sup". "font", and "basefont". HTML inline elements are listed at the HTML Inline Elements.
HTML Pre Element Inside
The HTML pre element can be contained inside the elements "applet", "blockquote", "body", "button", "center", "del", "dd", "div", "fieldset", "form", "iframe", "ins", "li", "map", "noframes", "noscript", "object", "td", and "th".
HTML Pre Element Use Example
The PRE element is handy for showing program code or part of file content as in this example:
switch ( )
{
case condition1
break;
case condition2
break;
}
This is how it looks:
switch ( )
{
case condition1
break;
case condition2
break;
}
CODE tag
An HTML code example cannot use the HTML delimiters < and >, because they will be executed by the browser as real HTML code. Rather you must substitute a < for the < and a > for the >.
Usually, the display font appearance for the code, kbd, samp, and tt tags is the same for a specific browser.
The pre tag is more commonly used to display code.
The separate closing tag is mandatory.
Attributes and Events
class dir id lang onclick ondblclick onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup style title
KBD tag
See also: code, font, plaintext, pre, samp, tt, var
Attributes
The kbd tag does not have any required HTML attributes. It does, however have numerous allowable attributes including:
* HTML Core Attributes
o class (type: CDATA) - space separated list of classes
o id (type: ID) - document-wide unique id
o style (type: Style Sheet) - associated style information
o title (type: Text) - advisory title/amplification; this information is usually displayed through tooltips
* HTML International Attributes (I18N)
o dir (type: Custom) - specifies the direction of weak or neutral text; valid values include ltr (left to right) or rtl (right to left)
o lang (type: Custom) - specifies the Language Code of the language used in the text
* HTML Event Attributes
o onclick (type: Script) - a pointer button was clicked
o ondblclick (type: Script) - a pointer button was double clicked
o onkeydown (type: Script) - a key was pressed down
o onkeypress (type: Script) - a key was pressed and released
o onkeyup (type: Script) - a key was released
o onmousedown (type: Script) - a pointer button was pressed down
o onmousemove (type: Script) - a pointer was moved within
o onmouseout (type: Script) - a pointer was moved away
o onmouseover (type: Script) - a pointer was moved onto
o onmouseup (type: Script) - a pointer button was released
Usage
To use the kbd tag, simply place opening and closing HTML tags around the characters that should be entered by the user. For example:
To destroy the usefulness of your computer, type del C:\*.* /S /Q at the command prompt.
On browsers that support this tag, this will typically cause the phrase "del *.* /S /Q" to be displayed in a monospaced font. Keep in mind that the purpose of this tag is to specify text to be typed in by the user, not to format your text. If you simply want to use a teletype font, you should technically use Cascading Style Sheets or the pre tag, however there are also the deprecated plaintext, samp, and tt tags that will do this as well.
SAMP tag
For many browsers, the display font appearance for the code, kbd, samp, and tt tags is the same.
The separate closing tag is mandatory.
Attributes and Events
class dir id lang onclick ondblclick onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup style title
TT tag
Usually, the display font appearance for the code, kbd, samp, and tt tags is the same. The listing tag has been deprecated.
The closing tag is mandatory.
Core attributes:
class dir id lang onclick ondblclick onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup style title
PLAINTEXT tag
Example code:
An example of how the
XMP tag
The XMP Tag ID's aren't listed because in most cases they are identical to the Tag Name.
All XMP information is stored as character strings. The Writable column specifies the information format: string is an unformatted string, integer is a string of digits (possibly beginning with a '+' or '-'), real is a floating point number, rational is entered as a floating point number but stored as two integer strings separated by a '/' character, date is a date/time string entered in the format "YYYY:MM:DD HH:MM:SS[.SS][+/-HH:MM]", boolean is either "True" or "False", and lang-alt is a list of string alternatives in different languages.
Individual languages for lang-alt tags are accessed by suffixing the tag name with a '-', followed by an RFC 3066 language code (ie. "XMP:Title-fr", or "Rights-en-US"). A lang-alt tag with no language code accesses the "x-default" language, but causes other languages for this tag to be deleted when writing. The "x-default" language code may be specified when writing to preserve other existing languages (ie. "XMP-dc:Description-x-default"), but note that other languages are still deleted if the "x-default" language is deleted. When reading, "x-default" is not specified.
The XMP tags are organized according to schema Namespace in the following tables. Note that a few of the longer namespace prefixes given below have been shortened for convenience (since the family 1 group names are derived from these by adding a leading "XMP-"). In cases where a tag name exists in more than one namespace, less common namespaces are avoided when writing. However, any namespace may be written by specifying a family 1 group name for the tag, ie) XMP-exif:Contrast or XMP-crs:Contrast.
ExifTool will extract XMP information even if it is not listed in these tables. For example, the pdfx namespace doesn't have a predefined set of tag names because it is used to store application-defined PDF information, but this information is extracted by ExifTool.
ADDRESS tag
Table of contents
* Description
* Attributes
* Events
* Examples
Description
The HTML address tag is commonly used to provide contact information at the bottom or beginning of a document or a form. It could be used, for example, to provide information about the enterprise behind the website, the author of a specific article or the author of the website itself. Note that browsers may change the aspect of the text between these tags (e.g., italic font).
Attributes
id (name)
The "id" attribute assigns an identifier to the associated element. This identifier must be unique in the document and can be used to refer to that element.
Example:
Code begin
This is the first paragraph named as paragraph1. To dynamically change its properties use this identifier.
Code endclass (cdata)
The "class" attribute assigns a class name (or a list of class names separated by spaces) to the container element. It's used with style sheets and tells the browser the class to which the element is associated with. A class gives visual attributes to elements.
Example:
Code begin
This article is based on the book "Wind in the trees" by Jhon L. Brooks
This article is based on the book "Wind in the trees" by Jhon L. Brooks... and is more important than the one before.
Code endstyle (style)
Defines a visual style of this element. Is a better practice to define styles attributes in external style sheets grouping them in classes. Attributes in the "style" parameter must preserve this order "name : value" and be separated by a semi-colon.
If you're writing XHTML code it's recommended not to use this attribute and try style sheet classes (with the "class" attribute).
Example:
Code begin
This is a paragraph with a defined style
And this is another text without style.
Code endtitle (text)
Indicates a title for the element. Used to give a short description about the element that is usually shown as a "tool tip" when the user put the mouse pointer over the element.
Example:
Code View
HTML code HTML code
lang (langcode)
Specifies the language of an element's content. The default value in "unknown".
When writing XHTML code the syntax "xml:lang" represents a preferred alternative in XHTML 1.0 and a replacement in XHTML 1.1 (e.g., xml:lang="en").
Example:
Code begin
This is a paragraph in english.
Este es un párrafo en español.
Code enddir
Specifies the text direction of the element's contents and attribute values, as well as tables directionality. It has two possible values that are case insensitive:
* RTL: Right to left.
* LTR: Left to right.
Example:
Code begin
...a Hebrew quotation...
Code endEvents
* onclick
* ondblclick
* onmousedown
* onmouseup
* onmouseover
* onmousemove
* onmouseout
* onkeypress
* onkeydown
* onkeyup
See complete list and information about events in HTML
Events in HTML
As well as attributes, events can be defined in HTML tags. Events, instead of giving values to the elements like the attributes, trigger actions when they occurs. These actions are defined by client-side scripts that are programs written to perform some action in a specific language (e.g., JavaScript, VBScript, etc.). There are different events that occurs in different instances according to browsers or users actions.
List of events
Below is al list of all events available for the HTML 4.01 Standard.
* onload: The onload event occurs when the user agent finishes loading a window or all frames within a frameset.
* onunload: The onunload event occurs when the user agent removes a document from a window or frame.
* onclick: The onclick event is triggered when the mouse button is clicked over the element.
* ondblclick: The ondblclick event occurs when the pointing device button is double clicked over an element.
* onmousedown: The onmousedown event is triggered when the mouse button is pressed over the element.
* onmouseup: The onmouseup event occurs when the pointing device button is released over an element.
* onmouseover: The onmouseover event is triggered when the mouse is moved onto the element.
* onmousemove: The onmousemove event occurs when the pointing device is moved while it is over an element.
* onmouseout: The onmouseout event is triggered when the mouse is moved away from the element.
* onfocus: The onfocus event occurs when an element receives focus either by the pointing device or by tabbing navigation.
* onblur: The onblur event is triggered when an element loses focus either by the pointing device or by tabbing navigation.
* onkeypress: The onkeypress event occurs when a key is pressed and released over an element.
* onkeydown: The onkeydown event is triggered when a key is pressed down over the element.
* onkeyup: The onkeyup event occurs when a key is released over an element.
* onsubmit: The onsubmit event is triggered when a form is submitted.
* onreset: The onreset event occurs when a form is reset.
* onselect: The onselect event is triggered when a user selects some text in a text field.
* onchange: The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus.
BLOCKQUOTE tag
tag and ends with the HTMLtag. The HTML blockquote element is used to format a block of text as a long quote which is indented more than the surrounding text on the left and the right.
HTML Blockquote Element Attributes
HTML "blockquote" element attributes include:
* cite="uri" - Specifies the URI of the source of the quote.
* class - The class attribute is used in conjunction with style sheets to associate an element with a class. The class attribute can set a class for specific element types or it can be independent of element types and work for all elements. The class attribute will provide the settings for specific style formatting. CSS properties are shown at the CSS Properties page.
* ID - The ID attribute is used to apply style settings to specific individual HTML elements.
* style - The style attribute is used to apply style settings for the specific element the style attribute is included with. An example is"
- This sets the style or color of the text. This statement starts a paragraph with color, green:
. The STYLE attribute is common to most HTML elements (See the CSS Properties page).
* title - Used to give specific elements a title which may appear as a tooltip in some browsers when the mouse is held at or near the element.
HTML Blockquote Element Contents
The HTML blockquote element may contain other block elements such as headers, paragraphs, preformat blocks and tables. HTML block elements are listed at the HTML Block Elements. The HTML "blockquote" element may also contain the "script" element.
HTML Blockquote Element Inside
The HTML blockquote element can be contained inside the elements "applet", "blockquote", "body", "button", "center", "del", "dd", "div", "fieldset", "form", "iframe", "ins", "li", "map", "noframes", "noscript", "object", "td", and "th". The HTML "blockquote" element should not be contained inside a paragraph element.
HTML Blockquote Element Use Example
This is the HTML code:
The preamble of the Constitution says:
We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America.
This is how it looks:
The preamble of the Constitution says:
We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare, and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America.
CITE tag
It is recommended that you use the blockquote tag for long citations and the cite tag for short citations.
The closing tag is mandatory.
Core Attributes
class dir id lang onclick ondblclick onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup style title
DFN tag
Table of contents
* Description
* Attributes
* Events
* Examples
Description
The HTML dfn tag indicates that this is the defining instance of the term enclosed by the tags.
Attributes
id (name)
The "id" attribute assigns an identifier to the associated element. This identifier must be unique in the document and can be used to refer to that element.
Example:
Code begin
This is the first paragraph named as paragraph1. To dynamically change its properties use this identifier.
Code endclass (cdata)
The "class" attribute assigns a class name (or a list of class names separated by spaces) to the container element. It's used with style sheets and tells the browser the class to which the element is associated with. A class gives visual attributes to elements.
Example:
Code begin
This article is based on the book "Wind in the trees" by Jhon L. Brooks
This article is based on the book "Wind in the trees" by Jhon L. Brooks... and is more important than the one before.
Code endstyle (style)
Defines a visual style of this element. Is a better practice to define styles attributes in external style sheets grouping them in classes. Attributes in the "style" parameter must preserve this order "name : value" and be separated by a semi-colon.
If you're writing XHTML code it's recommended not to use this attribute and try style sheet classes (with the "class" attribute).
Example:
Code begin
This is a paragraph with a defined style
And this is another text without style.
Code endtitle (text)
Indicates a title for the element. Used to give a short description about the element that is usually shown as a "tool tip" when the user put the mouse pointer over the element.
Example:
Code View
HTML code HTML code
lang (langcode)
Specifies the language of an element's content. The default value in "unknown".
When writing XHTML code the syntax "xml:lang" represents a preferred alternative in XHTML 1.0 and a replacement in XHTML 1.1 (e.g., xml:lang="en").
Example:
Code begin
This is a paragraph in english.
Este es un párrafo en español.
Code enddir
Specifies the text direction of the element's contents and attribute values, as well as tables directionality. It has two possible values that are case insensitive:
* RTL: Right to left.
* LTR: Left to right.
Example:
Code begin
...a Hebrew quotation...
Code endEvents
* onclick
* ondblclick
* onmousedown
* onmouseup
* onmouseover
* onmousemove
* onmouseout
* onkeypress
* onkeydown
* onkeyup
See complete list and information about events in HTML
Events in HTML
As well as attributes, events can be defined in HTML tags. Events, instead of giving values to the elements like the attributes, trigger actions when they occurs. These actions are defined by client-side scripts that are programs written to perform some action in a specific language (e.g., JavaScript, VBScript, etc.). There are different events that occurs in different instances according to browsers or users actions.
List of events
Below is al list of all events available for the HTML 4.01 Standard.
* onload: The onload event occurs when the user agent finishes loading a window or all frames within a frameset.
* onunload: The onunload event occurs when the user agent removes a document from a window or frame.
* onclick: The onclick event is triggered when the mouse button is clicked over the element.
* ondblclick: The ondblclick event occurs when the pointing device button is double clicked over an element.
* onmousedown: The onmousedown event is triggered when the mouse button is pressed over the element.
* onmouseup: The onmouseup event occurs when the pointing device button is released over an element.
* onmouseover: The onmouseover event is triggered when the mouse is moved onto the element.
* onmousemove: The onmousemove event occurs when the pointing device is moved while it is over an element.
* onmouseout: The onmouseout event is triggered when the mouse is moved away from the element.
* onfocus: The onfocus event occurs when an element receives focus either by the pointing device or by tabbing navigation.
* onblur: The onblur event is triggered when an element loses focus either by the pointing device or by tabbing navigation.
* onkeypress: The onkeypress event occurs when a key is pressed and released over an element.
* onkeydown: The onkeydown event is triggered when a key is pressed down over the element.
* onkeyup: The onkeyup event occurs when a key is released over an element.
* onsubmit: The onsubmit event is triggered when a form is submitted.
* onreset: The onreset event occurs when a form is reset.
* onselect: The onselect event is triggered when a user selects some text in a text field.
* onchange: The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus.