. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 iv TABLE OF CONTENTS JANUARY 2002 Overview . . . . Variations . Attributes . . . . alink . . . background bgcolor . . layer . . . link. . . . overscan . . text . . . vlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 . 25 . 26 . 26 . 26 . 26 . 27 . 27 . 27 . 30 . 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Overview . . . Variations Attributes . . . align . . layer . . style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 . 37 . 37 . 37 . 37 . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Overview . . . Font Sizing Variations . Attributes . . . color . . face . . . size . . . Overview . . . Variations . Attributes . . . action . . enctype . method . name . . target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 43 43 43 43 44 44 46 46 46 47 47 48 48 48 48 49 49 49 49 50 50 50 51 52 53 53 53 54 55 56 56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Overview . . . . . . . . . . Variations . . . . . . . . Attributes . . . . . . . . . . bordercolor, frameborder . . marginheight, marginwidth . name . . . . . . . . . noresize . . . . . . . . scrolling . . . . . . . . src . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Overview . . . . . . . . . . . . Variations . . . . . . . . . . Attributes . . . . . . . . . . . . background . . . . . . . . . border, bordercolor, frameborder . cols . . . . . . . . . . . . overscan . . . . . . . . . . - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi TABLE OF CONTENTS JANUARY 2002 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Overview . . . Attributes . . . align . . noshade . size . . width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . 58 . 58 . 58 . 58 . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Overview . . . . . . Transparency . . Images as Buttons Variations . . . Attributes . . . . . . align . . . . . alt . . . . . . border . . . . height, width . . hspace, vspace . ismap . . . . . layer . . . . . lowsrc . . . . name . . . . . src . . . . . . usemap . . . . Overview . . . . . . Variations . . . Input Types . . . . . type="button". . type="checkbox" type="file" . . . type="hidden" . type="image" . . type="password" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 . 60 . 60 . 61 . 61 . 61 . 62 . 63 . 63 . 63 . 64 . 64 . 65 . 65 . 65 . 66 . 67 . 68 . 68 . 68 . 69 . 70 . 70 . 71 . 72 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM vii type="radio" type="reset" . type="submit" type="text" . Attributes . . . . align . . . bgcolor . . border . . . checked . . disabled . . maxlength . name . . . nocursor . . readonly . . size . . . . src . . . . value . . . Overview . . . Variations . Attributes . . . prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 73 74 74 75 75 76 76 76 76 76 77 77 77 78 78 78 78 79 79 79 80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Overview . Attributes . type value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 81 81 82 82 83 83 83 83 83 83 84 84 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Overview . . . Variations . Attributes . . . charset . href . . . rel . . . rev . . . type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii TABLE OF CONTENTS JANUARY 2002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Overview . . . Variations Attributes . . . content . history . http-equiv initialfocus name . . scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 . 86 . 87 . 87 . 87 . 87 . 91 . 92 . 93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Overview . . . Attributes . . . compact . start . . type . . Overview . . . Attributes . . . disabled . selected . value . . Overview . . . Variations Attributes . . . align . . layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 . 97 . 97 . 97 . 98 . 98 . 99 . 99 . 99 . 99 . 99 100 100 100 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Overview . . . Variations . Attributes . . . name . . value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 101 101 101 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Overview . . . Variations . Attributes . . . wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 103 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 language="Javascript" src="URL" Overview Use the SCRIPT element as a container for coded scripts. TV Navigator Standard is the only version that support scripting, and it supports only the JavaScript language. Multiple script elements can appear in a document, and/or the script can be located in an external document that is linked via the SRC attribute. For example: ... If you insert a script inside a framesetting document (refer to the FRAMESET element), the functions defined by the script are available to all of the subdocuments defined by the contained FRAME elements. Variations The SCRIPT element is only supported in TV Navigator Standard 1.x. 104 USAGE: ATTRIBUTES: s1 yes c3 no none Marks targets for scrolling. By default, a document scrolls in frame-sized chunks, but the SCROLLSTOP element can be used to split it into smaller pieces. Each time the user scrolls up or down, another successive portion of the document is brought into view. Scrolling stops when either one of the following occurs: • One or two lines that used to be at the top of the viewing frame are at the bottom, or one or two lines that used to be at the bottom of the frame are at the top. • The contents of the document immediately following a SCROLLSTOP element are flush with the top of the viewing frame. For example, SCROLLSTOP could be inserted before each TR element in a table so that the table would scroll one row at a time. Note that scrolling never skips over any of the document. The SCROLLSTOP tag cannot be used to force scrolling in chunks larger than the frame where the document is displayed. Variations The SCROLLSTOP element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 105 USAGE: ATTRIBUTES: s1 yes c3 no ... align="position" background="url" bgcolor="color" disabled multiple name="string" popupbg="url" popupdirection=["up" | "down" | "auto"] selbgcolor="color" seltext="color" size="rows" text="color" onblur="JavaScript" onfocus="JavaScript" onchange="JavaScript" EVENT HANDLERS: Overview The SELECT element creates a pop-up menu of OPTION elements. The OPTION elements are nested inside the opening and closing tags of SELECT. SELECT appears inside the FORM element, and its NAME attribute is part of the name-value pair submitted with the form. The submitted value comes from the VALUE attribute of the selected OPTION element. For example: Color: <Select One> Red Orange Yellow Green In TV Navigator, this example would look like Figure 20: 106 CHAPTER 2: HTML REFERENCE JANUARY 2002 Before Focus During Focus Figure 20: SELECT Element in TV Navigator, Default Attributes When the SELECT element allows users to select more than one option (the MULTIPLE attribute is set) or if it displays more than one option (the SIZE attribute is set to a value greater than 1), there is no pop-up. The SELECT element displays all the options, scrolling them if necessary. TV Navigator Enhancements The TEXT, BGCOLOR, and BACKGROUND attributes affect both the SELECT element itself and its popup list, if there is one. The TEXT, BGCOLOR, and BACKGROUND attributes work just like their counterparts for the BODY element: • The TEXT attribute specifies the color used to draw OPTION element text. It applies to all text in the SELECT display and the pop-up list. If not set, the color defaults to black. • The BGCOLOR attribute specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be “transparent”. If a background color isn’t set, it defaults to light grey. • The BACKGROUND attribute can be set to a URL for an image to display in the background of the SELECT element. It applies only to that element, not the pop-up list. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. In both cases, the image is tiled to fill the entire area displayed and cropped to fit. The height of the SELECT element is determined by the SIZE attribute, which defaults to 1. The height of the pop-up list is determined by the number of options. A maximum of six items are displayed; if there are over six items, the list scrolls. The widths of both the element and its pop-up list are determined by the width of the widest option (the widest text string). If a background color (BGCOLOR) and a background image (BACKGROUND or POPUPBG) are both set, the color is drawn first and the image is placed on top, so that transparency in the image lets the background color show through. For example, this HTML code would show the background color in the SELECT display and an image, possibly against that color, in the pop-up list: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 107 The SELTEXT and SELBGCOLOR attributes are similar to TEXT and BGCOLOR, except that they specify the colors used to highlight an option when it’s selected: • The SELTEXT attribute sets the color used to display the text of a selected option. The default color is white. • The SELBGCOLOR attribute specifies a background color for the selected option. It defaults to a dark grey. This example is a modification of the SELECT element from the previous example: ... <Select Two> ... The result is a selection list (not a pop-up menu) with multiple selections and a green background for the selected items, as shown in Figure 21: Before Focus During Focus Figure 21: SELECT Element in TV Navigator, Advanced Attributes Variations • The SELECT element is not supported in TV Navigator Compact. • The POPUPDIRECTION attribute of the select element is only supported by TV Navigator Standard 1.2.7.3 and above. It is not supported by 1.3 or 1.5. 108 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of the SELECT element in relation to its surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. For example: background SYNOPSIS: DESCRIPTION: background="URL" Sets the URL for an image to display in the background of the SELECT element. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be "transparent". If a background color isn’t set, it defaults to light grey. disabled SYNOPSIS: DESCRIPTION: disabled Disables the SELECT element, and prevents it from receiving focus. multiple SYNOPSIS: DESCRIPTION: multiple If the MULTIPLE attribute is set, TV Navigator renders the SELECT element as a list box instead of a pop-up list. If necessary, TV Navigator will scroll the list to display all options. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 109 name SYNOPSIS: DESCRIPTION: name="string" Sets the name portion of the name-value pair submitted with the FORM data. popupbg SYNOPSIS: DESCRIPTION: popupbg="url" Places a background image in a SELECT pop-up list. popupdirection SYNOPSIS: DESCRIPTION: popupdirection=["up" | "down" | "auto"] TV Navigator uses a fixed algorithm to determine the pop-up direction of a SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. An additional attribute of the SELECT element specifies the preferred drawing direction of the pop-up. The POPUPDIRECTION attribute supports the following values: up The pop-up is drawn upwards from the SELECT element, if there is enough space to do so. down The pop-up is drawn downwards from the SELECT element, if there is enough space to do so. auto This is the default behavior of the SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. AVAILABILITY: Introduced in TV Navigator Standard 1.2.7.3. Not available in TV Navigator 1.3 or TV Navigator 1.5. 110 CHAPTER 2: HTML REFERENCE JANUARY 2002 selbgcolor SYNOPSIS: DESCRIPTION: selbgcolor="color" Specifies the color to use as a background for selected options. The default value is a dark grey. seltext SYNOPSIS: DESCRIPTION: seltext="color" Specifies the color of the text for selected options. The default value is black. size SYNOPSIS: DESCRIPTION: size="rows" Sets the number of rows to display. If SIZE is set to greater than 1, the SELECT element changes from a pop-up menu to a list box. text SYNOPSIS: DESCRIPTION: text="color" Specifies the color used to draw the OPTION element text. It applies to all text in the SELECT element and the pop-up list. If TEXT is not set, the color defaults to black. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The SMALL element decreases the size of the enclosed text by moving down one value in the 1-7 scale. SMALL elements can be nested for a cumulative effect. For more information on font sizing, refer to the SIZE attribute of the FONT element. For example: This is normal text.This is one size smaller. This is normal text again. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 111 USAGE: ATTRIBUTES: s1 yes c3 no align="position" height="pixels"; width="pixels" size="pixels" type=["block" | "horizontal" | "vertical"] Overview The SPACER element creates a block of background-colored (invisible) space that can help position elements on the page. The TYPE attribute lets you define three kinds of spacers: • type="block". This is a rectangular spacer that moves subsequent elements vertically and horizontally. • type="horizontal". This spacer adds a block of horizontal space on the same line of text. • type="vertical". This spacer adds a block of vertical space between lines of text. Figure 22 shows a block of text containing the three spacer types (spacers are shown colored and outlined for illustrative purposes). Figure 22: SPACER Elements in TV Navigator Standard 112 CHAPTER 2: HTML REFERENCE JANUARY 2002 Variations The SPACER element is not supported in TV Navigator Compact. Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of block-type SPACER elements in relation to surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. height, width SYNOPSIS: height="pixels" width="pixels" The HEIGHT and WIDTH attributes control the size of type="block" SPACER elements. TV Navigator may find it necessary to alter the size of SPACER elements to make content fit. For more information, refer to the NOBR element. DESCRIPTION: size SYNOPSIS: DESCRIPTION: size="pixels" The SIZE attribute sets the width of type="vertical" SPACER elements and the height of type="vertical" spacer elements. type SYNOPSIS: DESCRIPTION: type=["block" | "horizontal" | "vertical"] Sets the behavior of the SPACER element. If you set type="block", you must specify both HEIGHT and WIDTH attributes. If you set type="horizontal" or type="vertical", you must specify the SIZE attribute. There is no default setting. For example: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 113 USAGE: ATTRIBUTES: s1 yes c3 no ... ... none The STRIKE element renders all text contained between the opening and closing tags with a strikethrough line. It is identical to the S element. For example: Tonight’s menu features ginger-pineapple cous-cous served on a bed of organic wilted dandelions. Variations The S and STRIKE elements are not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The STRONG element renders all text contained between the opening and closing tags as bold. It is similar to the EM element. For example: The rain in Spain falls mainly on the plains. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 114 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUB element renders all text contained between the opening and closing tags as subscript. Variations The SUB element is not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUP element renders all text contained between the opening and closing tags as superscript. Variations The SUB element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 115 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] background="URL" bgcolor="color" border="pixels" cellpadding="pixels" cellspacing="pixels" cols="number" dynamiccols="number" frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] height=["pixels" | "percent"]; width=["pixels" | "percent"] highlightable hspace="pixels"; vspace="pixels" layer=["background" | "middle" | "foreground"] name="string" rules=["all" | "cols" | "groups" | "none" | "rows"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview Tables allow you to arrange data into rows and columns of cells, and also perform basic layout tasks. Table cells in TV Navigator can hold any content that a BODY element can hold: text, images, forms, and even the television picture. TV Navigator Standard (all versions) also supports dynamic tables—tables the user can navigate, and that JavaScript can modify at run time. Dynamic table cells, however, are limited to plain text. No images, hypertext links, embedded tables, or other HTML elements are allowed. For more information, refer to “Dynamic Tables” on page 120. 116 CHAPTER 2: HTML REFERENCE JANUARY 2002 Table Structure The structure of a table is highly specific. At minimum, a TABLE element holds a set of TR row elements, which in turn hold a set of TD cell elements. Optionally, the TABLE element can also include a row of TH heading cells and/or a CAPTION. For example, the following code creates a table like the one shown in Figure 23: This is the caption Head 1Head 2Head 3 cell 1cell 2cell 3 cell 4merged cells cell 7cell 8cell 9 default border is 2 pixels wide Figure 23: Basic Table Structure Note that end tags are not required for any of the table subelements. Row elements terminate automatically at the start of another row element, and cell elements terminate at the start of another cell or a row element. Table Position and Size The position of a TABLE element on the page is determined by the ALIGN, HSPACE, and VSPACE attributes. If these attributes are not specified, the table assumes the position a paragraph element would have in the same spot in the document. Figure 24 shows how the HSPACE and VSPACE attributes affect spacing from adjacent page elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 117 Paragraph element above... vspace cell 1 hspace cell 4 cell 2 cellspacing cellpadding cell 3 cell body cell margin merged cells table margin table caption vspace Paragraph element below... Figure 24: Table and Cell Positioning Several factors determine the size of the TABLE element and its subelements in TV Navigator: • First and foremost are the values of the HEIGHT and WIDTH attributes. You specify values for these in pixels (absolute size) or in a percentage of the visible container. The “container” can be the entire safe area of the screen, part of the screen defined by a FRAME element, or even another TD table cell. The values of height and width are taken as suggestions only— TV Navigator makes automatic adjustments to tables to ensure proper layout on the television screen. For more information, refer to the HEIGHT attribute of TABLE. • The number of rows in the table, and the number of cells in each row. Because horizontal scrolling is not allowed, TV Navigator will squeeze wide tables to fit in the allowable space. However, vertical scrolling is allowed, and long tables with many rows will be split into multiple screens. • The size of individual TD cell elements. TV Navigator establishes a minimum size for the cell—generally the smallest size possible while preserving legibility. The setting of the cell TD HEIGHT attribute can only increase the size of the cell; the height of the cell cannot be made smaller than the automatic minimum size. Cell size is also affected by the value of the TABLE CELLPADDING attribute (see Figure 24), which adds additional space between the cell body and the cell margin. • The value of the TABLE attribute CELLSPACING (see Figure 24), which inserts additional space between cell margins. The BORDER, CELLSPACING, and CELLPADDING attributes interact in TV Navigator. For more information, refer to the description of the BORDER attribute. 118 CHAPTER 2: HTML REFERENCE JANUARY 2002 Color Layering in Tables Color in TV Navigator tables works differently than you may expect. Tables, rows and cells are arranged in layers, each with a settable BGCOLOR attribute. By default, the BGCOLOR of all table components is transparent, allowing any color or image defined in a lower layer to show through to upper layers as shown in Figure 25. direction of transparency Figure 25: Layering of Background Colors in Tables Thus, if you set the table background color (for example, ), you cannot make a single TD cell transparent to the TV image in the BODY background. The only way to achieve this effect would be to leave the table transparent, and then set the BGCOLOR of each cell in the table explicitly. For more information about transparency, refer to “Transparent Backgrounds” on page 156. It is also possible to simultaneously set the background image and the background color for both tables and table cells. In the TV Navigator layering model, the TABLE BGCOLOR is in a layer above the BACKGROUND image for the table. If you set both TABLE BACKGROUND and BGCOLOR, you will see the background image peeking out from the spaces created by the CELLSPACING attribute. The opposite is true in table cells. When both TD (or TH) BGCOLOR and BACKGROUND are set, the background image for the cell appears in a layer above the background color. If the image in the cell is partially transparent, the background color for the cell will show through the transparent areas. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 119 HTML Error Correction According to strict HTML syntax, all table content must be placed inside TD or TH elements. If any content is outside these elements, but inside the TABLE element, TV Navigator automatically adds a TD element to contain the misplaced content. Variations TV Navigator Compact supports the nonstandard LAYER attribute, which determines the rendering level of the table and its contents. TV Navigator Compact does not support any dynamic table features. Dynamic Tables The information in this section applies only to the HTML aspects of dynamic tables. To fully explore the possibilities of dynamic tables you must use JavaScript. Refer to the Table object and Cell object descriptions Content Developer’s Reference (or the Liberate JavaScript Reference, when available). The following attribute descriptions in this reference also provide helpful information: • Dynamic table attributes: DYNAMICCOLS, HIGHLIGHTABLE, and NAME • Dynamic TD cell attributes: BEHAVIOR, FOCUSABLE, and HIGHLIGHTABLE Limitations on Content As it’s set up in HTML, a dynamic table is indistinguishable from any other table (except that it has a name). It can contain anything that any other table can—images, multiple fonts in one cell, and even other tables. However, the dynamic content that JavaScript can place in a table cell is limited to plain text. No images, forms, hypertext links, embedded tables, or other HTML elements are allowed. JavaScript can place new text in a cell, but the new text cannot contain any HTML tags. Even character entities (like and &") and elements that format the text (like TT and BR) are not permitted. At present, TV Navigator doesn’t have dynamic access to the static content of a cell (the content assigned in HTML), even if that content is plain text. For example, it can change the color of text that JavaScript puts in a cell, but it can’t modify the color of text assigned with the TD element. Similarly, JavaScript cannot scroll any text placed in cells when the table was set up 120 CHAPTER 2: HTML REFERENCE JANUARY 2002 in HTML. A cell’s static content is wiped away when the cell is first dynamically modified in any way. If you intend a table to be dynamic, you generally would not assign it images and other elements that would be very different from the contents it can display dynamically. It usually makes the most sense to simply lay out the table and assign font characteristics in HTML, but provide all the content through JavaScript. Even the initial content the user sees can be set dynamically, in an onload() handler. Font Attributes of Cells Because JavaScript disallows even HTML elements that format text (such as B and TT), it cannot modify the font used to display text in table cells. Each cell retains the font characteristics that it was assigned when it was set up in HTML. You can use any of the following elements to format content in a cell when you define the table: B BIG CITE CODE EM FONT I KBD S SAMP SMALL STRIKE STRONG TT U VAR However, these elements set cell formats only if they appear before the first character of text in the cell. For example, the following code sets up a row in a dynamic table: first second third . . . In this example, whatever text JavaScript places in these cells will adopt the specified font characteristics—bold in the first cell, plain text in the second, and both underlined and italic in the third. These attributes stay with the cell and cannot be changed. However, if the font elements appear after the first character, they format the static text that HTML puts in the table, but don’t affect any text subsequently written to the cell. The only font attribute that escapes this restriction is the color of the text. It can be modified at any time through JavaScript. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 121 Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] The ALIGN attribute sets the horizontal alignment of the table relative to its container (BODY element or TD/TH table cell). background SYNOPSIS: DESCRIPTION: background="URL" Allows you to specify an image to use as the background of the TABLE element. For example: TV Navigator positions the image in the upper left corner of the table and tiles the image to fill the space. The image is never scaled. If both BACKGROUND and BGCOLOR are set for the table, the background image appears below the apparent background color—the image only appears if the CELLSPACING attribute is large enough to separate the cells. The value of URL can also take the color: protocol, and when used that way it functions exactly like the BGCOLOR attribute. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color of the TABLE element. This is equivalent to setting the background color for all of the cells of the table. The value of color can be any valid color name or hexadecimal value. Also see the BACKGROUND attribute. border, cellpadding, cellspacing SYNOPSIS: border="pixels" cellpadding="pixels" cellspacing="pixels" The BORDER and CELLSPACING attributes of the TABLE element interact to some extent, due to TV Navigator’s policy of avoiding horizontal lines that are DESCRIPTION: 122 CHAPTER 2: HTML REFERENCE JANUARY 2002 1-pixel-wide whenever possible. The policy is aimed at reducing on-screen flicker. The BORDER attribute specifies grid lines around each cell, around the CAPTION if there is one, and around the entire table. For TV Navigator, these lines are either 1 pixel wide or they don’t exist. You have no control over border width. Add a border by giving the TABLE element a BORDER attribute without a value, or by using any value other than 0: Eliminate the border by removing the BORDER attribute or setting it to 0: The CELLSPACING attribute is the amount of space (in pixels) lying between the cells in a table, and between the edge of the table and the cells. The space is transparent, so it lets the background behind the table (not the table background) show through. If a table has a border, TV Navigator doesn’t display any space between cells, no matter what the CELLSPACING setting is. This forces the grid lines around adjacent cells (and around the caption and the whole table) to lie right next to each other, without any intervening space. The grid lines are 1 pixel wide, so the cell borders appear to be 2 pixels wide (1 pixel contributed by each cell). In effect, if you choose a bordered table, you’re choosing a 2-pixel-wide border with no space between the cells. If a table does not have a border, CELLSPACING can be set to any value, including 0. For the TV Navigator Standard, the default value is 2 pixels. However, in its attempt to avoid 1-pixel-wide lines, TV Navigator Standard doesn’t honor a CELLSPACING setting of 1. If cells could be separated by a single pixel, the separation might appear as a line 1 pixel wide. Imagine, for example, cells with a red background displayed over a green page. Thin green lines would separate the red cells. Therefore, if CELLSPACING is set to 1, TV Navigator increases the space to 2 pixels. The CELLPADDING attribute determines the width of the margin (in pixels) that separates the contents of a cell from the cell’s edge. Here, again, TV Navigator will not honor a setting of 1. If a 1-pixel margin is specified, 2 pixels are used. This prevents the margin from appearing as a 1-pixel-wide line when, for example, the cell has a background color and the content of the cell is a rectangular image. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 123 VARIATIONS: In TV Navigator Compact, the border does not render if the table is in the foreground layer of the page. cellpadding see border cellspacing see border cols SYNOPSIS: DESCRIPTION: cols="number" The intent of this attribute is to inform TV Navigator how many columns there are in the table. In a long table this may accelerate the layout time. If the table is dynamic (has the NAME attribute set), you must use the DYNAMICCOLS attribute instead. dynamiccols SYNOPSIS: DESCRIPTION: dynamiccols="number" TV Navigator ensures that each row in a dynamic table will have at least the DYNAMICCOLS number of TableCell objects. A row has one TableCell object for each TD or TH element assigned to the row in HTML, or the number of objects specified by DYNAMICCOLS, whichever is greater. The number of TableCells for the row is fixed when the table is set up; TV Navigator currently cannot produce new TableCell objects on the fly. This attribute therefore permits you to set up a dynamic table with cells spanning more than one column, like the one in Figure 26. For example: one plus two three one two plus three one two three 124 CHAPTER 2: HTML REFERENCE JANUARY 2002 one plus two one one two three three two plus three Figure 26: Spanning in a Dynamic Table When the column spans are reduced and more cells are needed in the first two rows, the TableCell objects will be available, because the TABLE element specified a minimum of three cells per row. The DYNAMICCOLS attribute has second purpose: It lets JavaScript know the minimum number of cells to scroll. If this attribute is not set, table scrolling will not work. Therefore, it should be set whether or not any cells span more than one column in the initial table. AVAILABILITY: Not available in TV Navigator Compact. frame SYNOPSIS: frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] The FRAME attribute determines which outside borders are drawn (see Figure 27). This attribute is planned for a future release of TV Navigator. default above below border box DESCRIPTION: hsides lhs rhs void vsides For clarity, inner borders are not shown, but are present by default. Figure 27: Behavior of the FRAME Attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 125 height, width SYNOPSIS: height=["pixels" | "percent"] width=["pixels" | "percent"] The WIDTH attribute of the TABLE element is taken only as a suggestion. TV Navigator usually respects it as a minimum, but may find it necessary to make the table wider or narrower, as follows: • Tables that are too wide for the screen are reduced in size so they fit, regardless of the WIDTH specified. • Because the default font size is larger for TV Navigator than for other browsers, it sometimes takes more space to display a table than the WIDTH specification allows. If necessary, the table is resized, ignoring the requested table width. If a table is located in a document, percentage specifications of its WIDTH and HEIGHT are relative to the frame that contains the document. However, if a table is embedded within another table, the percentages are relative to the size of the cell where it’s located. If the size of that cell isn’t explicitly given in HTML, the percent size of the inner table is completely ignored. Note that the table border (the BORDER attribute), the spacing between cells (the CELLSPACING attribute), and the padding within a cell (the CELLPADDING attribute) all take space from the specified WIDTH and HEIGHT. DESCRIPTION: highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set HIGHLIGHTABLE for all cells in the table. The settings for individual cells override the TABLE setting. For more information, refer to the TD HIGHLIGHTABLE attribute. Not available in TV Navigator Compact. AVAILABILITY: hspace, vspace SYNOPSIS: hspace="pixels" vspace="pixels" Use the HSPACE and VSPACE attributes to add a margin of empty (backgroundcolored) space between the table and adjacent content (see Figure 24). HSPACE DESCRIPTION: 126 CHAPTER 2: HTML REFERENCE JANUARY 2002 adds a margin to the left and right of the table; VSPACE does the same for the top and bottom of the table. layer SYNOPSIS: DESCRIPTION: layer=["background" | "middle" | "foreground"] Specifies the rendering layer for the TABLE element. Any setting for the table applies to all of its contents, except for nested tables, which may have a higher layer setting. background The table is rendered as part of the background to an MPEG I-frame. middle The contents of the TABLE element are sent to the set-top box as MPEG P-frames (images) and overlays (text). The P-frame is built from 16-pixel macroblocks that contain the image and any background pixels around the image if the image is not exactly aligned on 16-pixel boundaries (which is true for most cases). foreground If layer="foreground", the behavior is identical to layer="middle". Note that this behavior may change in futures versions of the client. If the BODY element is in the foreground, any contained TABLE elements must be in the foreground as well, and will be rendered as P-frames (for images) and overlays (for text) above the background I-frame. Care must be taken to avoid overlapping P-frames. Use the Compact Layout Tool to check for overlapping P-frames. If overlapping is detected, the content must be corrected accordingly. AVAILABILITY: Available in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute assigns a name to the JavaScript object for the table: This also signals that you want the table to have dynamic behavior. VARIATIONS: Previously, tables in TV Navigator Standard 1.x without NAME attributes were not dynamic. Now all tables in Standard 1.x are dynamic (excluding Standard JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 127 1.1). Tables in TV Navigator Compact are not dynamic, and do not support the NAME attribute. rules SYNOPSIS: DESCRIPTION: rules=["all" | "cols" | "groups" | "none" | "rows"] The RULES attribute determines which interior borders are drawn, as shown in Figure 28. This attribute is planned for a future release of TV Navigator. default all cols groups none rows Figure 28: Behavior of the RULES attribute vspace see hspace width see height 128 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... ... align=["center" | "char" | "justify" | "left" | "right"] background="URL" behavior=["scroll" | "slide" | "alternate"] bgcolor="color" colspan="number" direction=["left" | "right"] focusable=["true" | "false"] height="pixels"; width="pixels" highlightable=["true" | "false"] loop=["number" | "-1" | "infinite"] nowrap rowspan="number" scrollamount="pixels" scrolldelay="milliseconds" valign=["bottom" | "middle" | "top" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TD element represents a table cell, and as such it is a subelement of the table row TR element, which in turn is a subelement of the TABLE element. The TH element is a special kind of table cell that functions as a table header. For more information about the placement of TD and TH cells in the overall table structure, refer to the TABLE element. Both TD and TH elements can contain any content that can be held by the BODY element, including text, images, hyperlinks, and embedded objects (when supported). While end tags are not required because a TD cell terminates at the start of any other TABLE element, they are recommended. The attributes of TD and TH are identical, and include a number of Liberate-only extensions. The first group of extended attributes creates animated effects. For more information about these animation attributes, refer to the complete description under the BEHAVIOR attribute. The second group of attributes makes table cells dynamic, allowing them to accept user focus JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 129 (FOCUSABLE) and be highlighted by the focus ring (HIGHLIGHTABLE). These dynamic attributes only work on versions of TV Navigator that have dynamic table abilities. Variations TV Navigator Compact does not support dynamic table elements. Attributes align SYNOPSIS: DESCRIPTION: align=["center" | "left" | "right"] Sets the horizontal alignment of content for the TD cell. background SYNOPSIS: DESCRIPTION: background="URL" The BACKGROUND attribute specifies an image file to use as a page background. The URL parameter can point to any .jpg, .png, or .gif image file. If the image is smaller than the cell, the image will be tiled. GIF images with transparent areas will display the BGCOLOR of the cell through the transparent areas. You can put the television image in the background of a cell by assigning the tv: URL to the BACKGROUND attribute. TV Navigator also allows the URL to be assigned using the color: protocol. For example: This is identical to the following: 130 CHAPTER 2: HTML REFERENCE JANUARY 2002 behavior, direction, loop, scrollamount, scrolldelay SYNOPSIS: behavior=["scroll" | "slide" | "alternate"] direction=["left" | "right"] loop=["number" | "-1" | "infinite"] scrollamount="pixels" scrolldelay="milliseconds" These five attributes animate text within a cell. The presence of any one of them is sufficient to cause cell text to move; a default value is used for any of the five that isn’t explicitly set. However, if none of the five attributes is set, the text in the cell won’t be animated. Text can be assigned to the cell in HTML or with the JavaScript TableCell.write() method. It’s limited to a maximum of 4 kilobytes. The BEHAVIOR attribute says how the text is to move. There are three sanctioned values: DESCRIPTION: • For "scroll", the cell starts out empty. Text scrolls into view from one side, moves through the cell, and exits on the other side. It then begins over again. This is the default setting of BEHAVIOR. • For "slide", the text also begins off to one side. It scrolls into view and stops before the first character can exit the other side. • For "alternate", the text bounces from one side of the cell to the other and back again. The DIRECTION attribute indicates the direction the text should scroll, slide, or move before its first bounce. It can be either "left" or "right": The default is "left". The LOOP attribute is the number of times the text will scroll past the user, slide into place, or bounce from side to side. It can be set to a specific number or, for continuous animation, to either "-1" or "infinite": The default LOOP is "infinite". JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 131 The SCROLLAMOUNT attribute is the number of pixels the text should move horizontally each time it’s redrawn, and SCROLLDELAY is the number of milliseconds separating one redraw from the next. Together they determine how smoothly and how fast the text moves. The default SCROLLAMOUNT is 4 pixels, and the default SCROLLDELAY is 66 milliseconds. VARIATIONS: These attributes are not supported in TV Navigator Compact. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the cell. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE or TR element to show through to the cell in the row. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” SEE ALSO: BACKGROUND attribute. colspan SYNOPSIS: DESCRIPTION: colspan="number" The COLSPAN attribute indicates the number of columns that the current TD cell should merge to the right. Every row that contains a COLSPAN merged cell from above will need (number - 1) fewer TD cells. For example, the following table: merged cells The resulting table looks like this: merged cells 132 CHAPTER 2: HTML REFERENCE JANUARY 2002 direction SYNOPSIS: DESCRIPTION: direction=["left" | "right"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute on page 131. focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] A cell in a dynamic table can take input focus and be selected by the user—if the cell’s FOCUSABLE attribute is set to "true" or is simply present without an assigned value. If the attribute is absent or set to "false", the cell cannot take the focus. As the user navigates from cell to cell, the focus will jump over it. To see the standard focus rectangle around the cell, you must also set the HIGHLIGHTABLE attribute for the cell or the table. To create a custom highlighting effect, you can use the onfocus and onblur event handlers for the cell. The focusability of a cell can be changed dynamically through a JavaScript TableCell property that matches this attribute. VARIATIONS: This attribute is not supported in TV Navigator Compact. height, width SYNOPSIS: height="pixels" width="pixels" To make tables fit within the width of the screen, TV Navigator may reduce the size of cells, ignoring the values set for the WIDTH attribute. Normally, WIDTH is taken as a minimum. Computer-oriented browsers widen a cell beyond the width specified if it’s necessary to display the contents of any cell in the same column (because all cells in a column have the same width). However, they don’t reduce a cell below the requested WIDTH and HEIGHT. TV Navigator tries to honor the requested WIDTH, but will reduce it if that’s the only way to keep everything in view and avoid horizontal scrolling. This can especially affect empty cells. For example, to add whitespace to a table, some content developers use empty cells with a specific WIDTH or HEIGHT. For DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 133 instance, if a table has 12 rows of cells and you want a left gutter of 20 pixels wide before each row, the first cell in the table could have this form: However, if table cells with content require more space than is available, TV Navigator tries to find the best fit, even if it means ignoring specified cell sizes. This can result in a loss of the 20 pixels of whitespace. To ensure that some whitespace exists in this worst case, add a SPACER element or a nonbreaking space as the only content in the cell: In this case, even if there isn’t enough room for the 20 pixels you asked for, at least the cells get the width of a space character in the default font setting. highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute determines whether the focus rectangle will be drawn around the cell when it’s the focus of user attention. Setting it to "false" prevents the rectangle from being drawn. In all other cases—setting it to "true", mentioning it with no value set, or not mentioning it at all—highlighting is automatic. This attribute gives you a way to turn off automatic highlighting if you have an alternative way of marking the cell when it’s in focus. For example, in JavaScript, you could implement TableCell.onfocus() and onblur() handlers that would change the background image or color of the cell. You can dynamically determine whether or not a cell will be highlighted with the focus rectangle through a JavaScript TableCell property that matches this attribute. The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set this behavior for all cells in the table. The settings for individual cells override the TABLE setting. VARIATIONS: This attribute is not supported in TV Navigator Compact. 134 CHAPTER 2: HTML REFERENCE JANUARY 2002 loop SYNOPSIS: DESCRIPTION: loop=["number" | "-1" | "infinite"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: nowrap SYNOPSIS: DESCRIPTION: nowrap If NOWRAP is specified for a TD cell, TV Navigator tries not to scale images or wrap text within the cell. Because horizontal scrolling is not allowed, TV Navigator will ignore NOWRAP if other cells in the table have to be squeezed, making their contents unreadable or too small. rowspan SYNOPSIS: DESCRIPTION: rowspan="number" The ROWSPAN attribute indicates the number of rows that the current TD cell should merge from below. Every TR row that contains a merged cell from above will need one less TD cell. For example: merged cells The resulting table looks like this: merged cells JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 135 scrollamount SYNOPSIS: DESCRIPTION: scrollamount="pixels" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: scrolldelay SYNOPSIS: DESCRIPTION: scrolldelay="milliseconds" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: valign SYNOPSIS: DESCRIPTION: valign=["bottom" | "middle" | "top" | "baseline"] The VALIGN attribute sets the vertical alignment of the cell contents. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the cell, respectively. A setting of "baseline" aligns the first line of text in the cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. width see height 136 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ...optionaltext... bgcolor="color" cols="numChars" disabled focusable=["true" | "false"] name="string" rows="numLines" wrap=["off" | "hard" | "soft"] onblur="JavaScript" onchange=JavaScript" onfocus="JavaScript" onselect="JavaScript" EVENT HANDLERS: Overview The TEXTAREA element creates a text input control inside a FORM element. The TEXTAREA element is different from the INPUT type="text" element because it allows the user to input multiple lines of wrapped text. You can set the size and appearance of the text area and control its behavior inside the form. Liberate has extended the TEXTAREA element with two attributes. The first lets you set the BGCOLOR of the element. The second attribute, FOCUSABLE lets you designate a text area as readonly—by setting focusable="false"—for the purpose of displaying text. The end tag is required for the TEXTAREA element, and in a typical form the end tag appears directly after the opening tag. However, you can choose to display text in the text area by inserting it between the opening and closing tags. Figure 29 shows an example of a TEXTAREA in a form with a background color and some initial text. cols="20" rows="2" bgcolor="papayawhip" Figure 29: TEXTAREA Element in TV Navigator JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 137 This is the code that created the text area: Symptoms: Type here When TV Navigator displays the text area to the user, it follows an algorithm that lets the user navigate the FORM and also edit text in the TEXTAREA: • First, the user navigates the entire page and the different elements inside the FORM by using the cursor keys or the Tab key to jump from element to element. • When the highlight rectangle lands on a TEXTAREA element, the user presses Enter or any alphanumeric key to begin typing. • The user can enter carriage returns in the text by pressing the Enter key. By default, text automatically wraps inside the TEXTAREA. Carriage returns entered by the user are submitted with the form data as line feeds. • The user can edit text already typed by using the cursor keys and the Backspace key. The entire field is cleared if the user presses the Delete key. • The user exits the text area by pressing the Tab key, or by moving the cursor beyond text already entered. If the text area is reentered during navigation, typing and editing begins after the last character. Variations The TEXTAREA element is not supported in TV Navigator Compact, because the FORM element is not supported. Attributes bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the TEXTAREA element. A setting of "transparent" (the default) allows the BGCOLOR attribute of the BODY element to show through to the background. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” 138 CHAPTER 2: HTML REFERENCE JANUARY 2002 cols SYNOPSIS: DESCRIPTION: cols="numChars" Sets the width of the element. The unit of measurement is a single character of the available monospace font. Thus, a value of "40" sets the width of the TEXTAREA to hold 40 characters. If no value is specified, the text area expands horizontally to fit the maximum space available. disabled SYNOPSIS: DESCRIPTION: disabled The DISABLED attribute prevents the user from focusing on the TEXTAREA element. No name-value pair will be sent to the server upon submission of the form. Compare this with the behavior of the READONLY attribute. This attribute is not yet supported in any version of TV Navigator. To prevent focus, use the FOCUSABLE attribute. VARIATIONS: focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] TEXTAREA elements are focusable by default. However, you may want to use a text area to simply display information to the user, rather than display what the user types. The FOCUSABLE attribute gives you a choice. If it is set to "true", listed without a value, or not listed at all, the text area can become the focus for user input. However, if it is set to "false", it cannot become the focus and will not display any characters the user types. In JavaScript, there is a matching Textarea object with the same property. With it, you can dynamically determine when the text field should accept input from the user. VARIATIONS: This attribute is not supported in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute of any form control, including TEXTAREA, is used for two functions. The first function of NAME is to identify the control for manipulation from JavaScript. The second function is to provide the “name” in the name- JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 139 value pair of data that is submitted to the server. Although NAME is not a required attribute, the text area serves little purpose without it. VARIATIONS: This attribute is not supported in TV Navigator Compact. rows SYNOPSIS: DESCRIPTION: rows="numLines" Sets the vertical height of the TEXTAREA element, in the number of lines of text to accommodate. If no value is specified, the default is 10 lines. wrap SYNOPSIS: DESCRIPTION: wrap=["off" | "hard" | "soft"] The "hard" and "soft" settings (the default is "soft") of the WRAP attribute produce automatic text wrapping. The user can also enter carriage returns in the text area by pressing the Enter key. If the WRAP attribute is set to "hard", carriage returns generated by automatic wrapping are sent as line feeds. The "soft" setting only sends carriage returns typed by the user. If WRAP is set to "off", any text that overflows the width setting of the TEXTAREA forces previously typed text to scroll off the text area to the left. This does not erase any previously typed text. To move down to the next line, the user must press a carriage return. All manually entered carriage returns are submitted as part of the form data. A one-row text area with WRAP set to "off" behaves just like an INPUT type="text" element. USAGE: ATTRIBUTES: s1 yes c3 yes ...text... none The TITLE element is required by the HTML specification. The text enclosed by the TITLE element defines the string displayed in history and favorites lists. In a PC browser, the content of the TITLE element is displayed as the label for the browser window. TV Navigator has no parallel function. 140 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] bgcolor="color" valign=["top" | "middle" | "bottom" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TR element defines a table row, and is therefore a subelement of the TABLE element, and a container for table cells (TD elements). The TR element accepts a limited number of attributes that determine alignment and color. These attributes can be overridden by local declarations in each table cell. TV Navigator does not require an end tag for TR. For more information about TR, refer to the complete description of the TABLE element. Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] Sets the horizontal alignment of content for all the cells in the TR row. The ALIGN attribute of a TR row can be overridden by local declarations of ALIGN for each TD cell in the row. bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["color" | "transparent"] Sets the background color for all the cells in the TR row. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE element to show through to the cells in the row. The BGCOLOR attribute of a TR row can be overridden by local declarations of BGCOLOR for each TD cell in the row. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 141 For more information about setting the color parameter, refer to Chapter 4, “Using Color.” valign SYNOPSIS: DESCRIPTION: valign=["top" | "middle" | "bottom" | "baseline"] The VALIGN attribute sets the vertical alignment of cell content in the TR row. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the row, respectively. A setting of "baseline" aligns the first line of text in each cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. The VALIGN attribute of a TR row can be overridden by local declarations of VALIGN for each TD cell in the row. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The TT element, along with the related CODE and PRE elements, serves little purpose in a television environment. The intent of TT is to display teletype output. In TV Navigator, TT elements look exactly like CODE elements. Refer to CODE for more information. Variations TV Navigator Compact does not support the TT element in the foreground layer. 142 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... none The U element creates an underline effect for the text it surrounds. The underline is 2-3 pixels wide (depending on the size of the text), and rendered in the same color as the text. To prevent visual artifacts, some versions of TV Navigator may “antialias” the underline—that is, paint either the top and/or bottom row of pixels in a lighter shade of the text color. Generally, the underline effect should be avoided, as most users expect underlined text to be a hyperlink. USAGE: ATTRIBUTES: s1 yes c3 yes ... compact type=["circle" | "disc" | "square"] Overview The UL element creates an unordered list of items, also called a “bulleted list.” Use the UL element to enclose the list, and LI elements to mark each list item. Only the UL element requires an end tag; end tags for LI items are not necessary, because these elements terminate automatically at the start of any other list element. For example: Red Orange Yellow Green In TV Navigator, the unordered list looks like (Figure 30). JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 143 default Unordered Lists in Standard 1.x Red Orange Yellow Green type="circle" Red Orange Yellow Green type="disc" Red Orange Yellow Green type="square" Red Orange Yellow Green default Unordered Lists in Compact 3.x type="circle" type="disc" type="square" Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Figure 30: Unordered Lists in TV Navigator As Figure 30 shows, TV Navigator Compact lets you control the appearance of the list with the TYPE attribute. This behavior applies to TV Navigator Micro Edition as well. To distinguish the list from the surrounding text, the entire list is typically indented 20 pixels to the right, and 30 pixels down from the previous line. For versions supporting the TYPE attribute, TV Navigator distinguishes levels of indentation (lists within lists) by altering the bullet type as follows: • Disc (first-level indent) • Square (second-level indent) • Circle (third-level indent) Variations TV Navigator Standard 1.x does not support the TYPE attribute. 144 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes compact SYNOPSIS: DESCRIPTION: compact The COMPACT attribute is intended to compress the appearance of an unordered list. In TV Navigator, lists are already rendered as compactly as possible, so this attribute has no visible effect. type SYNOPSIS: DESCRIPTION: type=["circle" | "disc" | "square"] Determines the appearance of the “bullet” at the start of each list item. The default value is "disc" (see Figure 30). Not supported in TV Navigator Standard 1.x. AVAILABILITY: USAGE: ATTRIBUTES: s1 yes c3 yes programvariable none The VAR element marks a character or word as a variable in a computer program or mathematical description. TV Navigator renders VAR in an italic version of the surrounding font. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 145 USAGE: ATTRIBUTES: s1 yes c3 no ...... none The WBR element can reside inside any section of text surrounded by a NOBR element. It allows the browser to insert a line break in the specified location if the window is not wide enough to fit the entire NOBR section. For example: JavaScript variables are marked read-only, write-only, or read/write to indicate whether they can be, respectively, examined but not modified, modified but not examined, or both examined and modified. In this example, TV Navigator breaks the passage after the word “marked” but not after “read/write”. Why is this so? If a WBR element occurs in a line following a line break generated by a previous WBR element, it is considered to be an optional line break for the same line, and is ignored. See the NOBR element for more information. Variations TV Navigator Compact does not support the WBR element. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The XMP element is intended to display a block of computer code. Although this element is supported in TV Navigator, you should use the PRE element instead. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 146 CHAPTER 2: HTML REFERENCE JANUARY 2002 Event Handlers CHAPTERS 3 Typically, the body of an event-handler function is defined in HTML. But handlers can also be defined in JavaScript. In some cases, they must be defined in JavaScript because they belong to objects (like NetRequest and User Manager) that don’t have HTML counterparts. In HTML, event handlers are defined as strings of JavaScript code. However, in JavaScript, they should be defined as functions. For more information, refer to “Defining Event Handlers” in the Content Developer’s Guide. Note: To conform to the HTML specification, event handler names used as tag attributes are case-insensitive. However, to maintain consistency with the Liberate JavaScript implementation, all event handlers defined here are lowercase only. AVAILABILITY The event-handler attributes listed here apply only to TV Navigator Standard 1.2 (and higher) . Versions of TV Navigator that use a microBrowser application, such as TV Navigator 3.x (and higher), will ignore the event-handlers and any associated JavaScript. ATTRIBUTES onabort SYNOPSIS: DESCRIPTION: The event-handling attribute onabort triggers when the transfer of an image to the client has been interrupted. Typically, the ELEMENT is IMG. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Availability 147 onblur SYNOPSIS: DESCRIPTION: The event-handling attribute onblur triggers when the ELEMENT loses the input focus. onchange SYNOPSIS: DESCRIPTION: The event-handling attribute onchange triggers when the ELEMENT loses focus and its contents changed while it had focus. The most common use for the onchange attribute is on the form elements INPUT, SELECT, and TEXTAREA. onclick SYNOPSIS: DESCRIPTION: The event-handling attribute onclick triggers when the user has pressed a key on the remote or keyboard to invoke the ELEMENT that’s currently in focus. onerror SYNOPSIS: DESCRIPTION: The event-handling attribute onerror executes its JavaScript statement when an error is detected in the document. For example, the onerror event handler would fire if there was an error following a link or loading an image. The most common ELEMENTs for onerror are the IMG element and the BODY element. On the BODY element, onerror refers to the entire window object, not just the document object. onfocus SYNOPSIS: DESCRIPTION: The event-handling attribute onfocus triggers when the ELEMENT receives the input focus. 148 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 onkeyout SYNOPSIS: DESCRIPTION: The event-handling attribute onkeyout is a Liberate extension to the HTML specification. This method belongs to the JavaScript Input object, and is designed to handle cases where user input does not apply to the context of the current page. For example, the onkeyout event handler would fire if the user changed channels, but the current HTML document has no object to process channel changing. For more information, refer to the “Input Object” topic in the Content Developer’s Reference. onload SYNOPSIS: DESCRIPTION: The event-handling attribute onload triggers when the document specified by ELEMENT completes downloading into TV Navigator. The most common ELEMENTs for onload are BODY, FRAMESET and IMG. onmouseout SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseout triggers when the user input focus leaves ELEMENT after landing on it. Because there is no mouse present in the TV environment, TV Navigator treats onmouseout the same as onblur. onmouseover SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseover triggers when the user input focus lands on ELEMENT. Because there is no mouse present in the TV environment, TV Navigator treats onmouseover the same as onfocus. onnavigate SYNOPSIS: DESCRIPTION: The event-handling attribute onnavigate is a Liberate extension to the HTML specification. onnavigate is called once if the user attempts to move the focus rectangle in any direction from the cell that’s currently in focus. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Attributes 149 onreset SYNOPSIS: DESCRIPTION: The event-handling attribute onreset triggers when the user selects the Reset button in a form. onreset applies only to FORM elements. onselect SYNOPSIS: DESCRIPTION: The event-handling attribute onselect triggers when the user selects text in an INPUT or TEXTAREA element. Note that TV Navigator does not support user selection of text. onsubmit SYNOPSIS: DESCRIPTION: The event-handling attribute onsubmit triggers when the user selects the Submit button in a form. onsubmit applies only to FORM elements. onunload SYNOPSIS: DESCRIPTION: The event-handling attribute onunload triggers when a document is about to be unloaded from a window or frame. To apply onunload to a window, it must be an attribute of the BODY element in the affected document. Alternatively, onunload can apply to a FRAME element. onvisible SYNOPSIS: DESCRIPTION: The event-handling attribute onvisible triggers when the visibility of the ELEMENT changes. When defined as the attribute of a BODY element, the document must be in the topmost window, not a frame. For example: onvisible can also be defined as an attribute of the FRAMESET element, provided that it’s the topmost frameset. 150 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 Using Color CHAPTERS 4 Television is an inherently colorful medium. Viewers expect content on the TV screen to not only be colorful, but to use color in specific ways. For example, the Yahoo! Web site (http://www.yahoo.com) uses a black and blue over white color scheme that is both efficient and familiar to computer users. On a television screen, however, such a color scheme would rarely be seen. By using the standards of the Web, TV Navigator lets you specify color schemes for your content that are effective and attractive on a TV screen. For more information about designing with color, refer to the Content Developer’s Guide. This chapter provides a description of all HTML attributes that specify color, and how to specify color using hexadecimal RGB codes or predefined color names. COLOR ATTRIBUTES Refer to Chapter 2, “HTML Reference,” for a complete description of the HTML elements mentioned here. Note: In TV Navigator Compact, color attributes are limited if they are located in the foreground layer of the page. For more information about layering, refer to the DIV, BODY, and FONT elements in Chapter 2. link, alink, vlink SYNOPSIS: These attributes determine the color of links (LINK), selected links (ALINK), and visited links (VLINK) in the BODY element of your HTML document. You can DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Attributes 151 specify color using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. For example, both of these opening body tags (not in the same document, of course), specify a greyish-blue color for links on the page: VARIATIONS: TV Navigator does not support the ALINK or VLINK attributes. bgcolor SYNOPSIS: This attribute determines the background color of the document or the background color of tables, rows, and cells. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: color SYNOPSIS: The COLOR attribute determines the color of text enclosed by the FONT element. Alternatively, the color of all text following a BASEFONT element can be set with the COLOR attribute. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: text SYNOPSIS: DESCRIPTION: The TEXT attribute of the BODY element sets the global color of text in the document. The FONT and BASEFONT elements can override this global attribute with local declarations of text color. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. 152 Color Attributes CHAPTER 4: USING COLOR JANUARY 2002 HEXADECIMAL RGB Hexadecimal RGB is the most common (and compatible) method for specifying color as an attribute. “RGB” refers to a triplet of values for red, green, and blue. Each of the three colors is represented by a two-digit hexadecimal (“hex” for short) number. The hex number 00 (decimal 0) equals no color, while hex FF (decimal 255) equals full color. Therefore, #000000 represents pure black and #FFFFFF represents pure white. Intermediate values for red, green, and blue in different ratios can reproduce the entire color spectrum. For example, Figure 31 shows how to create the named color “chocolate” using the hexadecimal RGB scheme. Pound Sign #D2691E Red Value Green Value Blue Value chocolate #D2691E Figure 31: Specifying Color in Hexadecimal RGB To specify “chocolate” as the background color of a page in HTML, you would use either of the following methods: COLOR NAMES TV Navigator recognizes a set of 140 color names that can be used as attributes. This set is common to all versions of TV Navigator as well as current versions of Internet Explorer and Netscape Navigator. This list of 140 named colors should not be confused with the set of 216 “Web-safe” colors that are in common use. The Web-safe colors form a palette that reproduces consistently between different PC browsers. Web-safe colors are not a concern on TV Navigator. If you will be setting the color of an object dynamically from JavaScript, you cannot use the named colors. You must use hexadecimal RGB for dynamic properties. The following three figures show the complete set of 140 named colors. The hexadecimal RGB equivalent is shown below the color name. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Hexadecimal RGB 153 aliceblue #F0F8FF #F0FFFF antiquewhite #FAEBD7 #F5F5DC #0000FF #5F9EA0 aqua #00FFFF #FFE4C4 #8A2BE2 #7FFF00 #FFF8DC #008B8B #BDB76B #9932CC #483D8B #FF1493 #B22222 #DCDCDC #808080 #FF69B4 #F0E68C aquamarine #7FFFD4 #000000 #A52A2A #D2691E #DC143C azure beige bisque black blanchedalmond #FFEBCD burlywood #DEB887 #FF7F50 #00FFFF #A9A9A9 blue blueviolet brown cadetblue chartreuse chocolate crimson coral cornflowerblue #6495ED darkblue #00008B #006400 #FF8C00 #8FBC8F #9400D3 #1E90FF #FF00FF #DAA520 #F0FFF0 #FFFFF0 cornsilk cyan darkcyan darkgoldenrod #B8860B darkmagenta #8B008B #8B0000 #2F4F4F #00BFFF #FFFAF0 #F8F8FF #F008000 #CD5C5C #E6E6FA darkgray darkgreen darkkhaki darkolivegreen #556B2F darksalmon #E9967A #00CED1 #696969 #228B22 #FFD700 #ADFF2F #4B0082 darkorange darkorchid darkred darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fushcia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender Figure 32: Named Colors (page 1 of 3) 154 Color Names CHAPTER 4: USING COLOR JANUARY 2002 lavenderblush #FFF0F5 #F08080 #D3D3D3 #87CEFA #00FF00 #B03060 lawngreen #7CFC00 #E0FFFF #FFB6C1 #778899 #32CD32 lemonchiffon #FFFACD lightblue #ADD8E6 #90EE90 #20B2AA #FFFFE0 #FF00FF lightcoral lightcyan lightgoldenrodyellow #FAFAD2 lightsalmon #FFA07A #B0C4DE #FAF0E6 #0000CD lightgreen lightgray lightpink lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine #66CDAA mediumseagreen #3CB371 mediumvioletred #C71585 moccasin #FFE4B5 #808000 #DA70D6 #DB7093 #FFC0CB #FF0000 #FA8072 mediumblue mediumorchid #BA55D3 mediumspringgreen #00FA9A mintcream #F5FFFA #000080 #FFA500 #98FB98 #FFDAB9 #B0E0E6 #4169E1 #2E8B57 mediumpurple #9370DB mediumturquoise #48D1CC mistyrose #FFE4E1 #FDF5E6 #FF4500 #AFEEEE #CD853F #A020F0 #8B4513 mediumslateblue #7B68EE midnightblue #191970 #FFDEAD #6B8E23 navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod #EEE8AA papayawhip #FFEFD5 #DDA0DD #BC8F8F #F4A460 palegreen paleturquoise palevioletred peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen Figure 33: Named Colors (page 2 of 3) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Names 155 seashell #FFF5EE #6A5ACD #4682B4 #FF6347 #F5DEB3 #9ACD32 sienna #A0522D #708090 #D2B48C see text #FFFFFF silver #C0C0C0 #FFFAFA #008080 #40E0D0 #F5F5F5 skyblue #87CEEB #00FF7F #D8BFD8 #EE82EE #FFFF00 slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen Figure 34: Named Colors (page 3 of 3) TRANSPARENT BACKGROUNDS Note: TV Navigator Compact does not support transparency. The BGCOLOR attribute of the following elements can be set to “transparent”: Form elements that display text also have a BGCOLOR attribute that can be “transparent”: In these contexts, “transparent” is a color name, just like “red”, “lime”, or “maroon”, except that it indicates the absence of a background color. You can think of the elements displayed within a window as being layered. When one of them is transparent, the background image of the element underneath it shows through. For 156 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 example, if a table cell is transparent and the body of the document it’s in is assigned a background color or image, you’ll see the image underneath whatever text is placed in the cell: For the purpose of background color, tables, table rows, and table cells are all in the same layer. Setting BGCOLOR for a table is simply a convenient way of setting it for all cells in the table; setting it for a row simply sets it for all cells in the row. Therefore, any transparency in a table lets the body background show through. The following BODY element has a transparent background color, and is displayed in a frame: In this example, the image that shows through is the one assigned in the FRAMESET element, as discussed in the previous section. However, if the document is at the top level of the window, rather than in a subframe, the contents of the window behind it will show through. In this way, a small window can pop up in front of another window and blend with the larger window’s contents. BGCOLOR defaults to “transparent” for the table cells, but not for BODY or FORM elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Transparent Backgrounds 157 158 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 Content Data Types CHAPTERS 5 TV Navigator has the built-in ability to handle various types of data retrieved over the Internet. This chapter lists the types it handles without any help—the audio types it can play, the text and image types it can display, and so on. It shows the content-type string (the MIME media type) along with the file extensions that typically identify the type—for example, “audio/wav” and something.wav for a file with data in the Waveform Audio File Format. Because TV Navigator is a thin client, some of the work of interpreting incoming data may be taken over by a server, particularly the Liberate Transcode server. The server processes incoming data and translates it to another, private type for more efficient handling by the client software. For example, the TV Navigator client can display JPEG and GIF images although it never sees the JPEG and GIF data formats. The server converts these formats to a third type before sending the data to the client. This chapter documents the MIME media types that the server and client, working together, can handle. It doesn’t document the private types used internally between client and server. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 159 TEXT FORMATS text/plain EXTENSIONS: DESCRIPTION: .txt etc. Plain text not formatted with HTML tags. text/html EXTENSIONS: DESCRIPTION: .html, .htm HTML documents. 160 Text Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 AUDIO FORMATS Beginning with release 1.3, TV Navigator (not Compact) supports sampled audio data in the WAV, AIFF, and AU formats. It accepts both monaural and stereo data sampled at all standard rates, namely: 8.000 kHz 11.025 kHz 12.000 kHz 16.000 kHz 22.050 kHz 24.000 kHz 32.000 kHz 44.100 kHz 48.000 kHz However, the three formats differ in which compression schemes and sample sizes are supported. Those differences are described in the list of types that follows. Although a range of sampled audio data is understood—including all common encodings—the Transcode server simplifies the variety for the client. It currently translates all audio data to a single format at one encoding, sample rate, and sample size before delivering it to the set-top box. In TV Navigator Standard 1.1 and 1.2, all sound data must be in the WAV format, uncompressed, monaural, and sampled at 8 bits per second. audio/aiff, audio/x-aiff EXTENSIONS: DESCRIPTION: .aiff, .aif Audio Interchange File Format (AIFF), developed by Apple Computer and used mainly on their computers. TV Navigator supports only uncompressed, linear PCM (Pulse Code Modulation) encodings at either 8 or 16 bits per sample. audio/basic EXTENSIONS: DESCRIPTION: .au Audio (AU) format, developed by Sun Microsystems and originally used on UNIX machines. Several encodings are supported, primarily the following: • Uncompressed, linear PCM encoding, either integer or floating point, at 8, 16, or 32 bits per sample • Conventional A-law and µ-law compression (the CCITT G711 standard) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Audio Formats 161 In addition, two versions of ADPCM (Adaptive Differential Pulse Code Modulation) encoding are supported on an experimental basis: • G721 compression at 4 bits per sample • G723 compression at 3 or 5 bits per sample audio/wav, audio/x-wav EXTENSIONS: DESCRIPTION: .wav Waveform Audio File Format (WAV), first defined by Microsoft for multimedia extensions to Windows and now an Internet standard. The supported encodings are: • Uncompressed, linear PCM encoding at 8 or 16 bits per sample (floating point is not supported) • A-law and µ-law compression (the G711 standard) • Microsoft ADPCM compression • IMA (Interactive Multimedia Association) ADPCM compression • G721 ADPCM compression 162 Audio Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 IMAGE AND VIDEO FORMATS image/gif EXTENSIONS: DESCRIPTION: .gif The GIF format (Graphic Interchange Format) for representing image data. This format diplays compressed (lossless), 256-color images. Depending on how the images are prepared, they can be optionally transparent or interlaced. Use this format for images with hard edges and solid areas of color. Animation is also supported in this format, but is not recommeded in TV Navigator. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: image/jpeg EXTENSIONS: DESCRIPTION: .jpeg, .jpg, .jpe The JPEG (Joint Photographic Experts Group) format for compressed image data. This format displays compressed (lossy) images with photographic quality (millions of colors). JPEG should be used for photographic images and gradients only, not for images with hard edges and solid areas of color. Animation and transparency are not supported. image/png EXTENSIONS: DESCRIPTION: .png The Portable Network Graphics (PNG) format, for representing image data. This format displays compressed (lossless) images. Images can be transparent or include animation. A variety of bit depths are supported, up to millions of colors. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Image and Video Formats 163 OTHER FORMATS application/x-javascript EXTENSIONS: DESCRIPTION: VARIATIONS: .js, .mocha JavaScript code. TV Navigator currently identifies JavaScript code in files with the extension .wnj as the “application/x-dtv-script” type. In practice, there is no difference between this type and “application/x-javascript”. This redundancy simply lets you distinguish one sort of JavaScript file from another. For example, you could mark files that use the Liberate extensions with the .wnj extension and reserve .js for more generic files. Not available in TV Navigator Compact. application/x-shockwave-flash EXTENSIONS: DESCRIPTION: VARIATIONS: .swf The data format for Macromedia Flash movies. Not available in TV Navigator Compact. In TV Navigator Standard, availability is at the discretion of the service provider. Chapter 8, “Playing Flash Movies” SEE ALSO: 164 Other Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 Protocols CHAPTERS 6 This chapter lists the protocol names that can appear in URLs understood by TV Navigator. Standard protocols are listed here, but are not described in any detail. The protocols that are peculiar to the TV environment—tv: and mcast:—are discussed more fully. PROTOCOLS FOR TV AND BROADCAST tv: SYNOPSIS: DESCRIPTION: tv:[channel][#src=(left,top,width,height)] Places television in a Web page and optionally specifies two things: the source of video input (the channel) and the part of the television picture to be displayed (a rectangle defined by the left, top, width, and height parameters). In general, the tv: protocol can be used anywhere that a URL can specify image data. Specifically, it can set the SRC attribute of an IMG or FRAME element and the BACKGROUND attribute of a handful of other elements: It can also be the destination of a link: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 165 In JavaScript, it can be used in comparable places: document.myImage.src = "tv:"; window.location = "tv:"; window.open(“tv:”, . . .); document.myTable.rows[0].cells[0].background = "tv:"; Tuning. If a channel ID immediately follows the protocol name, TV Navigator will, if possible, tune to the specified channel. For example: window.location = "tv:5"; Channel IDs are strings, so “12” is not the same as “0x0C”, and “5” is not the same as “05” or “005”. The string that follows tv: must exactly match the id property of a TvChannel object. In theory, you can also specify the video source by channel name, "tv:cnn", "tv:kron" or by a network name, "tv:abc", "tv:fox" provided that information is available that would permit the system to map those names to channel IDs. Channel and network names are case-insensitive. If an ID or name is omitted, tv: adds video to the page, but retains the current tuning. Note: In the current release, channel IDs are supported, but channel and network names are not. Scaling the picture. By default, a tv: URL places the full television picture on the page and scales it to fit the container (the window, frame, image, or table cell to which it’s assigned). In the following example, the TV picture would be scaled to fit the width and height specified for the image, and viewers would see a miniature, 180 × 135 version of full-screen TV: Some set-top boxes are capable of scaling the picture only to certain sizes—such as 1/4, 1/3, 1/2, 2/3, and 3/4 full size. Selecting part of the picture. It’s not necessary to display the entire television picture contained in the incoming video signal. The tv: URL can 166 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 select just a section of it to display. The section is defined by a rectangle using a coordinate system that has coordinate units equal to pixels and the origin at the upper left corner of the full picture. The rectangle is measured against the dimensions of the full picture as defined for the video format. It’s located by its left and top edges and its width and height, in the following format: #src=(left,top,width,height) For example, the following code selects a central section of the picture to display. Assuming the incoming television signal carries video that’s 640 pixels wide and 480 pixels high (the NTSC format), it trims 90 pixels from the top and bottom of the picture and 70 pixels from the left and right sides: The specified 500 × 300 section of the TV picture is scaled to fit the container where it’s placed. If, in this example, the image container was the same size as the source rectangle, scaling would not be necessary: However, if the container is smaller, the 500 × 300 source picture would be scaled smaller. In the following code, its dimensions are cut in half, to 250 × 150: Similarly, if the container is bigger than the source rectangle, the picture is scaled larger: Just as some set-top boxes are limited to certain sizes or fractions when scaling smaller, they may also be limited when scaling larger. In the examples just shown, the dimensions of the source rectangle are stated in pixel units. They can also be defined as percentages of the screen size for the video format: If the screen is 720 pixels wide and 576 pixels high (typical of the PAL format), these percentages would translate to pixels as follows: If the screen is 640 × 480 (typical of NTSC), they would translate to different pixel values: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 167 Only integers should be used as percentages (no floating-point numbers). It’s best not to mix percentages with pixels in the same specification. Picking a container. The tv: protocol is the only way to put TV in a document. If there’s just one source of TV input (one TvTuner object), there’s just one TV resource to allocate. It can therefore be specified only once for all documents, frames, and windows. If two or more URLs compete for the TV picture, TV Navigator uses the following ordered rules to determine which one prevails: 1. It prefers to put television in a visible window, rather than in one that’s currently invisible. See the Window.visible property for more information. (Visibility is measured only by that property; if a window is on-screen but covered by other windows, it is still considered visible.) 2. If the competing windows are all equally visible, it prefers the window that’s closest to the front of the screen—the one with the greatest Window.layer value. See that property for more information. 3. If the URLs are in the same window or the competing windows have the same visibility and are assigned to the same layer, TV Navigator picks the URL that would put television in the largest container. Size is calculated by multiplying the container’s width by its height. If these three rules are not decisive, the container that draws first prevails. In this case, it’s not guaranteed that the same container would always draw first. For example, if a page had two equal tv: images, as in the following example, . . . one of the images might grab the TV picture when the page is displayed one time, and the other image another time. Note that as the visibility of windows changes dynamically, the TV picture might jump from one container to another. Containers that don’t get the TV picture, or lose it, are drawn in a solid color. AVAILABILITY: HISTORY: VARIATIONS: Channel and network names are not currently supported. The source rectangle was introduced in TV Navigator 1.2.6.1. Not yet available in TV Navigator Compact. Chapter 3 of the Content Developer’s Guide SEE ALSO: 168 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 mcast: SYNOPSIS:S DESCRIPTION: mcast://. . . A protocol for listening to Mediacast channels—data received through a oneway broadcast mechanism, including: • A stream of in-band MPEG data from a cable or satellite • Data encoded in the vertical blanking interval (VBI) of analog broadcasts • IP Multicast (IPM) data over an IP network An mcast: URL addresses all the data in a particular Mediacast channel— everything in a data carousel, for example, or in a stream of ticker data. Individual items in the stream may be addressed by their own URLs, possibly URLs with http: or another protocol name (but not mcast:). The mcast: URL maps logical names to particular data categories and sources. For example: Example URL mcast://news/headlines Data Yields a series of Web pages (a data carousel). Yields a single well-known page (also a data carousel). Yields a stream of data. mcast://favorites/contents.html mcast://ticker/stock mcast://tvinfo VARIATIONS: TV Navigator Compact does not support this protocol. goto: SYNOPSIS: goto:exit goto:tv Compact Platform provides this powerful custom protocol to reference metacontent. That is, the goto: links reference either a type of content or a browser action. Compact Platform recognizes the following types of goto: links: DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 169 • goto:exit - Closes the browser session. • goto:tv - Closes the browser session. AVAILABILITY: Available only in TV Navigator Compact. 170 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 STANDARD PROTOCOLS The TV Navigator application engine supports the standard protocols listed in this section. As noted in the next section, some other protocols are supported by specific Liberate applications. http: DESCRIPTION: Hypertext Transfer Protocol, the customary protocol for most Internet activity. https: DESCRIPTION: VARIATIONS: The secure version of the customary protocol. TV Navigator Compact does not support this protocol. javascript: DESCRIPTION: The protocol name that’s prefixed to embedded JavaScript code. When TV Navigator parses a javascript: URL, it executes the code, but does nothing with the resulting value. Typically, on computer-oriented browsers, if the last expression in the code inside a javascript: URL evaluates to a string (or to a type that can be converted to a string), the browser treats the string as if it was the document referred to by the URL. When the user follows the link in the following example, it would display the user agent string (since the last expression evaluates to what’s at the right of the assignment operator): VARIATIONS: TV Navigator Compact does not support this protocol. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Standard Protocols 171 UNSUPPORTED PROTOCOLS The following protocols are commonly used in Web application, but are not supported in TV Navigator, at least not directly, and don’t appear in the preceding lists: file: The protocol for specifying the path name of a file or other locally stored entity. Because TV Navigator is not currently available on set-top boxes that have hard disks and file systems, it does not support this protocol at the present time. Future versions will implement the file: protocol if the hardware supports a client file system. mailto: The protocol name for opening an e-mail application so the user can send mail to the specified recipient. Although the application engine for TV Navigator doesn’t recognize this protocol, the Liberate TV Mail™ application does. If TV Mail is installed for a user who selects a mailto: link, it will bring up a window where the user can compose a mail message. irc: The IRC (Internet Relay Chat) protocol for chat sessions. Although TV Navigator doesn’t support this protocol, Liberate TV Chat™ does. If TV Chat is installed for the current user and the user selects an irc: link, it attempts to contact the specified chat server and start the chat session. 172 Unsupported Protocols CHAPTER 6: PROTOCOLS JANUARY 2002 Playing Sounds CHAPTERS 7 Content created for TV Navigator Standard (not TV Navigator Compact) can associate sounds with a Web page in three ways: • As background sounds—played with the standard BGSOUND element. You can loop through the sound a specified number of times or have it played repeatedly. For example: • As linked sounds—played when the user follows a link to the sound file. The sound is played only once, when the file is loaded. For example: Kaboom!! • As embedded sounds—placed on the page with the standard EMBED element. For example: In all cases, sound data must be in one of the supported audio formats listed in Chapter 5, “Content Data Types.” Currently, TV Navigator can play embedded sounds only if they are declared to be user interface (UI) sounds—the various clicks, beeps, and swooshes that accompany user actions, such as when the user selects a radio button or presses a key. A Liberate–defined attribute, UISOUND, notifies TV Navigator that the sound is to be used in the user interface. Embedded sounds without this attribute are ignored. User-interface sounds are always hidden; they don’t have a visual presence on-screen and are not subject to user control. They’re played by calling the Embed object’s play() method, usually from a JavaScript event handler, as illustrated in the example on the next page. The example shows a user-interface sound that’s played when the user selects a button, from the button object’s onclick() handler. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 173 UI sound demonstration . . . . . . This example shows the EMBED element with six attributes: • The SRC attribute specifies the sound file (“click.wav”) and NAME gives it a name (“sound1”). The script then uses the name to identify the embedded sound as a property of the Document object. It defines a playClick() function that calls the sound’s play() method; the onclick() handler calls playClick() when the user invokes the button. • The HEIGHT and WIDTH attributes are required for compatibility with other browsers, but their values are ignored. • The LOOP attribute specifies that the sound will be played four times when play() is called. • The UISOUND attribute is required for TV Navigator to recognize the sound. The standard HIDDEN attribute is not specified, but is assumed. Other attributes of the EMBED element are not supported. Because UI sounds are played immediately in response to a user action, there’s not enough time to stream them in over the network. This means that they stay resident in RAM, taking up valuable resources. Be aware of the space that UI sounds consume, and keep them small. 174 CHAPTER 7: PLAYING SOUNDS JANUARY 2002 Playing Flash Movies CHAPTERS 8 TV Navigator Standard can play Macromedia Flash™ movies created in the Flash 4.0 SWF format. This support was added in the 1.3 and above releases of TV Navigator; it’s not available in the 1.1 versions of TV Navigator and may be present in some deployments of 1.2. You can load a Flash movie into a window or frame by making it the subject of a link: See a demonstration. Or, you can assign it as the source document of a frame: However, movies are typically placed on a page using the EMBED element. For example, the following HTML fragment places a Flash movie (skiing.swf) in a container that’s 200 pixels wide and 100 pixels high: This fragment shows the EMBED element with a set of commonly used attributes. A source file (the src attribute) must be specified. The WIDTH and HEIGHT of the display area, while not required, are recommended for efficient page translation. The NAME attribute is required only if the movie will be manipulated in JavaScript. For information on using JavaScript with Flash movies, refer to the Content Developer’s Reference. The rest of this chapter presents the EMBED element for Flash movies, and its unique attributes. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 175 USAGE: ATTRIBUTES: s1 optional c3 no ... base="URL" bgcolor=["#RRGGBB" | "transparent"] highlightable=["true" | "false"] loop=["true" | "false"] name="movie" play=["true" | "false"] pluginspage="http://www.macromedia.com/shockwave/download" quality=["high" | "low" | "autohigh" | "autolow" | "best"] salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] scale=["showall" | "noborder" | "exactfit"] src="URL" ui width=["percent" | "pixels"] ; height=["percent" | "pixels"] Attributes This section describes the common attributes of the EMBED element only when it’s used to embed a Flash movie. If attributes other than those listed are included in the tag, TV Navigator ignores them. If you don’t specify a value for an optional attribute, TV Navigator uses the default value. base SYNOPSIS: DESCRIPTION: base="URL" The base URL used to resolve relative path statements in the Flash movie. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["#RRGGBB" | "transparent"] The background color of the movie. This attribute overrides the background color setting in the Flash file. It takes a hexadecimal red-green-blue color specification (#RRGGBB) or the special color name “transparent” for a 176 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 transparent background. Other color names are not supported. For example, an indigo background would be specified as follows: height see width highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] Determines whether or not the user can select elements within the movie— “true” if it’s possible and “false” if not. The default is “true”. loop SYNOPSIS: DESCRIPTION: loop=["true" | "false"] Whether or not to repeat the movie indefinitely—“true” if it should begin playing again at the first frame whenever it reaches the final frame, and “false” if it should stop on the final frame. The default value is “true”. name SYNOPSIS: DESCRIPTION: name="movie" A name that can be used to refer to the movie in JavaScript. For example: This assignment would allow a script to find the corresponding Embed object as follows: If there’s more than one EMBED element on the page, be sure to use a unique name for each one. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 177 play SYNOPSIS: DESCRIPTION: play=["true" | "false"] Whether or not the movie will play automatically when it’s loaded—“true” if it should play automatically and “false” if not. The default is “true”. If you set this attribute to “false” to prevent the movie from playing automatically, you must use a JavaScript method to begin the movie animation. pluginspage SYNOPSIS: DESCRIPTION: pluginspage="http://www.macromedia.com/shockwave/download" The PLUGINSPAGE attribute tells the browser where to find the Flash plug-in if it is not detected. TV Navigator ignores this attribute because Flash capability is built into the TV Navigator application engine. However, if your movie will be shown on other browsers, you should use this attribute. quality SYNOPSIS: DESCRIPTION: quality=["high" | "low" | "autohigh" | "autolow" | "best"] The level of anti-aliasing in the movie. salign SYNOPSIS: DESCRIPTION: salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] Specifies how the movie is to be aligned when it’s resized using the SCALE attribute. The default behavior centers the movie in the specified area, and crops the edges if the movie does not fit. The SALIGN attribute is ignored if it is used without a corresponding SCALE attribute. The values position the movie along one edge or two adjacent edges of the containing rectangle, and crop it if necessary. The values are “L” (left), “R” (right), “T” (top), “B” (bottom), “TL” (top and left), “TR” (top and right), “BL” (bottom and left), and “BR” (bottom and right). 178 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 scale SYNOPSIS: DESCRIPTION: scale=["showall" | "noborder" | "exactfit"] Specifies how the movie should be scaled to its container. This attribute applies only when the WIDTH and HEIGHT specified are different from the movie’s original size. The values behave as follows: showall Makes the entire movie visible in the available area, while maintaining the aspect ratio. Borders may appear on two sides of the movie. This is the default setting. The effect is similar to a wide-screen film shown on a TV screen in letterbox format; a black border is shown above and below the film. noborder Shows as much of the movie as possible in the available area, while maintaining the aspect ratio. Parts of the movie that do not fit in the available area are cropped. The effect is similar to watching a wide-screen film that has been cropped on the sides (“panned and scanned”) to fit the narrower width of a TV screen. exactfit Forces the movie to fit the entire visible area. Aspect ratio will not be maintained, and distortion will occur. src SYNOPSIS: DESCRIPTION: src="URL" The source file for the movie. The URL can be relative or absolute. For example: Although most of the other attributes are optional, this one is obligatory. Your must specify a source. ui SYNOPSIS: DESCRIPTION: ui This attribute has no value. It’s a Boolean that’s either present or absent. Its presence indicates that the movie plays a role in the user interface. TV JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 179 Navigator takes this fact into account when it needs to reclaim memory to make room for new data. It tries to free other things, including other Flash movies, before getting rid of a movie marked with this attribute. width, height SYNOPSIS: width=["percent" | "pixels"] height=["percent" | "pixels"] These attributes specify a size for the movie; they override the size set in the Flash file. When set as a percent, they define the size of the movie in relation to the available screen area. When set as pixels, they define an absolute width and height. As such, they’re interpreted similarly to the WIDTH and HEIGHT attributes of the TABLE element. For example: DESCRIPTION: If only one of these attributes is specified, TV Navigator will attempt to maintain the aspect ratio of the movie. Although WIDTH and HEIGHT are optional, these attributes should be used whenever possible to improve transcoding performance. SEE ALSO: SCALE, SALIGN 180 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 Character Sets BASIC HTML CHARACTER ENTITIES CHAPTERS 9 TV Navigator supports a basic set of HTML character entities. Use these codes to display special characters in HTML documents. For example, each of the following lines of HTML displays the British “pound” character: £ £ The following table lists entities in order by numeric code equivalent, and provides the following information: • The first four columns (“Version”) indicate which version of TV Navigator supports the entity. For version notation, refer to Chapter 1, “Introduction.” • The “In Use” column shows how the character looks in TV Navigator (approximate). • The “Entity” and “Code” columns shows the literal strings to use in HTML to display the character. Generally, you can use either the entity or the code. • The “Description” column provides a brief description of the character. Version s1 c3 y y y y y y y y y y In Use Entity Code ¡ ¢ £ ¤ Description no-break space inverted exclamation point cent sign pound sign currency sign ¡ ¢ £ ¤ ¡ ¢ £ ¤ JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 181 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Code ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Description yen sign broken bar section sign diaeresis copyright sign feminine ordinal indicator left-pointing double angle quote not sign soft hyphen registered sign macron degree sign plus-minus sign superscript two superscript three acute accent micro sign pilcrow (paragraph sign) middle dot cedilla superscript one masculine ordinal indicator right-pointing double angle quote vulgar fraction one quarter vulgar fraction one half vulgar fraction three quarters inverted question mark cap A with grave cap A with acute 182 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Code Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Description cap A with circumflex cap A with tilde cap A with diaeresis cap A with ring above cap AE cap C with cedilla cap E with grave cap E with acute cap E with circumflex cap E with diaeresis cap I with grave cap I with acute cap I with circumflex cap I with diaeresis cap ETH cap N with tilde cap O with grave cap O with acute cap O with circumflex cap O with tilde cap O with diaeresis multiplication sign cap O with stroke cap U with grave cap U with acute cap U with circumflex cap U with diaeresis cap Y with acute cap THORN JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 183 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Code ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Description small sharp s small a with grave small a with acute small a with circumflex small a with tilde small a with diaeresis small a with ring above small ae small c with cedilla small e with grave small e with acute small e with circumflex small e with diaeresis small i with grave small i with acute small i with circumflex small i with diaeresis small eth small n with tilde small o with grave small o with acute small o with circumflex small o with tilde small o with diaeresis division sign small o with stroke small u with grave small u with acute small u with circumflex 184 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y In Use Entity ü ý þ ÿ ü ý þ ÿ Code ü ý þ ÿ Description small u with diaeresis small y with acute small thorn small y with diaeresis JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 185 186 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 INDEX A A element audio/x-wav 162 8–14 ABBR element 12 ACRONYM element 12 ACTION attribute FORM element 46 ADDRESS element 12 ALIGN attribute APPLET element 14 CAPTION element 32 DIV element 37 H1-H6 elements 56 HR element 58 IMG element 61 P element 100 SELECT element 109 SPACER element 113 TABLE element 122 TD,TH elements 130 TR element 141 ALINK attribute BODY element 26 ALT attribute APPLET element 14 AREA element 17 IMG element 62 APPLET element 13–15 application/x-dtv-script 164 application/x-javascript 164 application/x-shockwave-flash 164 ARCHIVE attribute APPLET element 14 AREA element 16–19 audio/aiff 161 audio/basic 161 audio/wav 162 audio/x-aiff 161 B B element 20 26 BACKGROUND attribute BODY element 53 109 TABLE element 122 TD,TH elements 130 background sounds 173 BASE attribute Flash movies 176 BASE element 20–21 BASEFONT element 21–22 BEHAVIOR attribute TD,TH elements 131 BGCOLOR attribute BODY element 26 Flash movies 176 SELECT element 109 TABLE element 122 TD,TH elements 132 TEXTAREA element 138 TR element 141 BGSOUND element 22–23, 173 BIG element 23 BLINK element 24 BLOCKQUOTE element 24 BODY element 25–31 BORDER attribute FRAMESET element 53 IMG element 63 TABLE element 122 BORDERCOLOR attribute FRAME element 49 FRAMESET element 53 BR element 31 SELECT element FRAMESET element JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 187 broadcast 93 broadcast streams 169 DIR element 36 131 DIRECTION attribute TD,TH elements DISABLED attribute C CAPTION element TABLE element TABLE element CENTER element CHARSET attribute LINK element CITE attribute BLOCKQUOTE element CITE element CLEAR attribute BR element CODE attribute 32–33 122 CELLPADDING attribute CELLSPACING attribute 122 33 83 24 34 31 99 109 TEXTAREA element 139 DIV element 37–38 DL element 39 DOWN attribute A element 10 AREA element 19 DT element 39 DYNAMICCOLS attribute TABLE element 124 SELECT element OPTION element E EM element 40 40 47 14 CODE element 34–35 CODEBASE attribute APPLET element 14 COLOR attribute BASEFONT element 22 FONT element 43 COLS attribute FRAMESET element 54 TABLE element 124 TEXTAREA element 139 COLSPAN attribute TD,TH elements 132 COMPACT attribute DIR element 36 DL element 39 MENU element 85 OL element 97 UL element 145 CONTENT attribute META element 87 COORDS attribute AREA element 18 APPLET element EMBED element ENCTYPE attribute FORM element F FACE attribute BASE element FONT element 22 43 Flash movies 175 FOCUSABLE attribute TD,TH elements 133 TEXTAREA element 139 FONT element 40–44 FORM element 44–48 FRAME attribute TABLE element 125 FRAME element 48–50 FRAMEBORDER attribute FRAME element 49 FRAMESET element 53 FRAMESET element 51–55 G goto: protocol 169 D DD element 35 DFN element 36 H H1-H6 elements 56–57 188 INDEX JANUARY 2002 HEAD element 57 K KBD element HEIGHT attribute 80 15 Flash movies 180 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 HIGHLIGHTABLE attribute A element 9 Flash movies 177 TABLE element 126 TD,TH elements 134 HISTORY attribute META element 87 HR attribute SIZE element 58 HR element 57–58 HREF attribute A element 10 AREA element 18 BASE element 21 LINK element 83 HSPACE attribute APPLET element 15 IMG element 63 TABLE element 126 HTML element 59 HTTP-EQUIV attribute META element 87 APPLET element L LANGUAGE attribute SCRIPT element LAYER attribute BODY element DIV element 105 27 37 H1-H6 elements 57 IMG element 64 P element 100 TABLE element 127 LAYER element 80 LEFT attribute A element 10 AREA element 19 LI element 81–82 LINK attribute BODY element 27 LINK element 82–84 linked sounds 173 LISTING element 84 LOOP attribute BGSOUND element 23 embedded sounds 174 Flash movies 177 TD,TH elements 131 LOWSRC attribute IMG element 65 I 59 I-frames 26, 27, 37, 64, 80, 100, 127 image/gif 163 image/jpeg 163 image/png 163 IMG element 60–66 INITIALFOCUS attribute META element 91 INPUT element 67–78 ISINDEX element 78–79 ISMAP attribute IMG element 64 I element M Macromedia Flash 175 MAP element 84 MARGINHEIGHT attribute FRAME element 49 MARGINWIDTH attribute FRAME element 49 mcast: protocol 169 Mediacast 169 MENU element 85 META element 86–93 METHOD attribute FORM element 47 MULTIPLE attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 189 SELECT element 109 POPUPBG attribute SELECT element 110 N NAME attribute POPUPDIRECTION attribute A element 11 APPLET element 15 AREA element 19 Flash movies 177 FORM element 48 FRAME element 49 IMG element 65 MAP element 85 META element 92 PARAM element 101 SELECT element 110 TABLE element 127 TEXTAREA element 139 NOBR element 93 NOFRAMES element 95 NOHREF attribute AREA element 18 NORESIZE attribute FRAME element 50 NOSCRIPT element 95 NOSHADE attribute HR element 58 NOWRAP attribute TD,TH elements 135 110 102–103 PROMPT attribute ISINDEX element 79 protocols goto: 169 http: 171 https: 171 javascript: 171 mcast: 169 tv: 165 PRE element SELECT element Q QUALITY attribute Flash movies 178 R refresh, automatic 90 REL attribute A element 11 LINK element 83 REV attribute A element 11 LINK element 83 RIGHT attribute A element 10 AREA element 19 ROWS attribute TEXTAREA element 140 ROWSPAN attribute TD,TH elements 135 RULES attribute TABLE element 128 O OL element 96–98 98–99 OVERSCAN attribute BODY element 27 FRAMESET element 55 OPTION element P P element 99–100 101 P-frames 64, 127 PLAINTEXT element 102 PLAY attribute Flash movies 178 PLUGINSPAGE attribute Flash movies 178 PARAM element S S element 103 SALIGN attribute Flash movies 178 103 SCALE attribute Flash movies 179 SCHEME attribute SAMP element 190 INDEX JANUARY 2002 93 104–105 SCROLLAMOUNT attribute TD,TH elements 131 SCROLLDELAY attribute TD,TH elements 131 SCROLLING attribute FRAME element 50 SCROLLSTOP element 105 SELBGCOLOR attribute SELECT element 111 SELECT element 106–111 SELECTED attribute OPTION element 99 SELTEXT attribute SELECT element 111 SHAPE attribute AREA element 19 SIZE attribute BASE element 22 FONT element 44 SELECT element 111 SPACER element 113 SMALL element 111 SPACER element 112–113 SRC attribute BGSOUND element 23 Flash movies 179 FRAME element 50 IMG element 65 SCRIPT element 105 START attribute OL element 97 STRIKE element 114 STRONG element 114 STYLE attribute DIV element 38 SUB element 115 SUP element 115 SCRIPT element META element A element 11 19 21 FORM element 48 TD,TH elements 129–136 TEXT attribute BODY element 30 SELECT element 111 TEXTAREA element 137–140 text/html 160 text/plain 160 TITLE element 140 TR element 141–142 TT element 142 tv: protocol 165 TYPE attribute LI element 81 LINK element 84 OL element 98 SPACER element 113 UL element 145 BASE element AREA element U U element UI attribute 143 Flash movies 179 UI sound 173 UL element 143–145 UP attribute A element 10 AREA element 19 USEMAP attribute IMG element 66 user interface sound 173 V VALIGN attribute TD,TH elements VALUE attribute LI element TEXTAREA element 136 142 T TABLE element 82 99 101 116–128 94 OPTION element PARAM element VAR element tables resizing images TARGET attribute 145 VLINK attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 191 BODY element VSPACE attribute 31 APPLET element IMG element 15 66 TABLE element 126 W WBR element 146 WIDTH attribute 15 Flash movies 180 HR element 58 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 WRAP attribute PRE element 103 TEXTAREA element 140 APPLET element X XMP element 146 192 INDEX JANUARY 2002 California Member-Managed LLC Operating Agreement$19.95 Acknowledgment of Independent Contractor$8.95 Artist-Agent Engagement Agreement$8.95 Website Design Non-Disclosure$14.95 Employee Handbook for Company$39.95 Limited Liability Partnership Agreement$29.95 Office Lease Agreement$8.95 Other docs by Alex Cameron Using Eq Views: 118 | Downloads: 6 The Sectret of the mastering engineer Views: 128 | Downloads: 8 Recording Real Drums Views: 112 | Downloads: 9 Recording Lead Vocals Views: 141 | Downloads: 6 Recording in One Room Views: 105 | Downloads: 9 Recording Bass Guitar Views: 133 | Downloads: 8 Recording Acoustic Guitar Views: 113 | Downloads: 5 Practical Mixing Views: 80 | Downloads: 1 MediaFinance94 Views: 165 | Downloads: 2 iTV is dead_ Long live IPTV - Broadcast Engineering-Digital TX Limited _www.digitaltx.tv_ Views: 77 | Downloads: 1 IPTV-VoD.The.World.Thats.On.Its.Way-Digital.TX.Limited._www.digitaltx.tv_ Views: 63 | Downloads: 2 IPTV-VoD.The.Hare.And.The.Tortoise-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 79 | Downloads: 0 IPTV-VoD.The.Fall.Of.Contents.Kingdom-Digital.TX.Limited._www.digitaltx.tv_ Views: 48 | Downloads: 1 IPTV-VoD.Fast.Forward.To.Christmas.Future-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 58 | Downloads: 1 IPTV-VoD.Bursting.The.PPV.Bubble-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 62 | Downloads: 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Overview . . . Variations Attributes . . . align . . layer . . style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 . 37 . 37 . 37 . 37 . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Overview . . . Font Sizing Variations . Attributes . . . color . . face . . . size . . . Overview . . . Variations . Attributes . . . action . . enctype . method . name . . target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 43 43 43 43 44 44 46 46 46 47 47 48 48 48 48 49 49 49 49 50 50 50 51 52 53 53 53 54 55 56 56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Overview . . . . . . . . . . Variations . . . . . . . . Attributes . . . . . . . . . . bordercolor, frameborder . . marginheight, marginwidth . name . . . . . . . . . noresize . . . . . . . . scrolling . . . . . . . . src . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Overview . . . . . . . . . . . . Variations . . . . . . . . . . Attributes . . . . . . . . . . . . background . . . . . . . . . border, bordercolor, frameborder . cols . . . . . . . . . . . . overscan . . . . . . . . . . - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi TABLE OF CONTENTS JANUARY 2002 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Overview . . . Attributes . . . align . . noshade . size . . width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . 58 . 58 . 58 . 58 . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Overview . . . . . . Transparency . . Images as Buttons Variations . . . Attributes . . . . . . align . . . . . alt . . . . . . border . . . . height, width . . hspace, vspace . ismap . . . . . layer . . . . . lowsrc . . . . name . . . . . src . . . . . . usemap . . . . Overview . . . . . . Variations . . . Input Types . . . . . type="button". . type="checkbox" type="file" . . . type="hidden" . type="image" . . type="password" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 . 60 . 60 . 61 . 61 . 61 . 62 . 63 . 63 . 63 . 64 . 64 . 65 . 65 . 65 . 66 . 67 . 68 . 68 . 68 . 69 . 70 . 70 . 71 . 72 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM vii type="radio" type="reset" . type="submit" type="text" . Attributes . . . . align . . . bgcolor . . border . . . checked . . disabled . . maxlength . name . . . nocursor . . readonly . . size . . . . src . . . . value . . . Overview . . . Variations . Attributes . . . prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 73 74 74 75 75 76 76 76 76 76 77 77 77 78 78 78 78 79 79 79 80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Overview . Attributes . type value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 81 81 82 82 83 83 83 83 83 83 84 84 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Overview . . . Variations . Attributes . . . charset . href . . . rel . . . rev . . . type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii TABLE OF CONTENTS JANUARY 2002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 compact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Overview . . . Variations Attributes . . . content . history . http-equiv initialfocus name . . scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 . 86 . 87 . 87 . 87 . 87 . 91 . 92 . 93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Overview . . . Attributes . . . compact . start . . type . . Overview . . . Attributes . . . disabled . selected . value . . Overview . . . Variations Attributes . . . align . . layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 . 97 . 97 . 97 . 98 . 98 . 99 . 99 . 99 . 99 . 99 100 100 100 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Overview . . . Variations . Attributes . . . name . . value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 101 101 101 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Overview . . . Variations . Attributes . . . wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 103 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 language="Javascript" src="URL" Overview Use the SCRIPT element as a container for coded scripts. TV Navigator Standard is the only version that support scripting, and it supports only the JavaScript language. Multiple script elements can appear in a document, and/or the script can be located in an external document that is linked via the SRC attribute. For example: ... If you insert a script inside a framesetting document (refer to the FRAMESET element), the functions defined by the script are available to all of the subdocuments defined by the contained FRAME elements. Variations The SCRIPT element is only supported in TV Navigator Standard 1.x. 104 USAGE: ATTRIBUTES: s1 yes c3 no none Marks targets for scrolling. By default, a document scrolls in frame-sized chunks, but the SCROLLSTOP element can be used to split it into smaller pieces. Each time the user scrolls up or down, another successive portion of the document is brought into view. Scrolling stops when either one of the following occurs: • One or two lines that used to be at the top of the viewing frame are at the bottom, or one or two lines that used to be at the bottom of the frame are at the top. • The contents of the document immediately following a SCROLLSTOP element are flush with the top of the viewing frame. For example, SCROLLSTOP could be inserted before each TR element in a table so that the table would scroll one row at a time. Note that scrolling never skips over any of the document. The SCROLLSTOP tag cannot be used to force scrolling in chunks larger than the frame where the document is displayed. Variations The SCROLLSTOP element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 105 USAGE: ATTRIBUTES: s1 yes c3 no ... align="position" background="url" bgcolor="color" disabled multiple name="string" popupbg="url" popupdirection=["up" | "down" | "auto"] selbgcolor="color" seltext="color" size="rows" text="color" onblur="JavaScript" onfocus="JavaScript" onchange="JavaScript" EVENT HANDLERS: Overview The SELECT element creates a pop-up menu of OPTION elements. The OPTION elements are nested inside the opening and closing tags of SELECT. SELECT appears inside the FORM element, and its NAME attribute is part of the name-value pair submitted with the form. The submitted value comes from the VALUE attribute of the selected OPTION element. For example: Color: <Select One> Red Orange Yellow Green In TV Navigator, this example would look like Figure 20: 106 CHAPTER 2: HTML REFERENCE JANUARY 2002 Before Focus During Focus Figure 20: SELECT Element in TV Navigator, Default Attributes When the SELECT element allows users to select more than one option (the MULTIPLE attribute is set) or if it displays more than one option (the SIZE attribute is set to a value greater than 1), there is no pop-up. The SELECT element displays all the options, scrolling them if necessary. TV Navigator Enhancements The TEXT, BGCOLOR, and BACKGROUND attributes affect both the SELECT element itself and its popup list, if there is one. The TEXT, BGCOLOR, and BACKGROUND attributes work just like their counterparts for the BODY element: • The TEXT attribute specifies the color used to draw OPTION element text. It applies to all text in the SELECT display and the pop-up list. If not set, the color defaults to black. • The BGCOLOR attribute specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be “transparent”. If a background color isn’t set, it defaults to light grey. • The BACKGROUND attribute can be set to a URL for an image to display in the background of the SELECT element. It applies only to that element, not the pop-up list. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. In both cases, the image is tiled to fill the entire area displayed and cropped to fit. The height of the SELECT element is determined by the SIZE attribute, which defaults to 1. The height of the pop-up list is determined by the number of options. A maximum of six items are displayed; if there are over six items, the list scrolls. The widths of both the element and its pop-up list are determined by the width of the widest option (the widest text string). If a background color (BGCOLOR) and a background image (BACKGROUND or POPUPBG) are both set, the color is drawn first and the image is placed on top, so that transparency in the image lets the background color show through. For example, this HTML code would show the background color in the SELECT display and an image, possibly against that color, in the pop-up list: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 107 The SELTEXT and SELBGCOLOR attributes are similar to TEXT and BGCOLOR, except that they specify the colors used to highlight an option when it’s selected: • The SELTEXT attribute sets the color used to display the text of a selected option. The default color is white. • The SELBGCOLOR attribute specifies a background color for the selected option. It defaults to a dark grey. This example is a modification of the SELECT element from the previous example: ... <Select Two> ... The result is a selection list (not a pop-up menu) with multiple selections and a green background for the selected items, as shown in Figure 21: Before Focus During Focus Figure 21: SELECT Element in TV Navigator, Advanced Attributes Variations • The SELECT element is not supported in TV Navigator Compact. • The POPUPDIRECTION attribute of the select element is only supported by TV Navigator Standard 1.2.7.3 and above. It is not supported by 1.3 or 1.5. 108 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of the SELECT element in relation to its surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. For example: background SYNOPSIS: DESCRIPTION: background="URL" Sets the URL for an image to display in the background of the SELECT element. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be "transparent". If a background color isn’t set, it defaults to light grey. disabled SYNOPSIS: DESCRIPTION: disabled Disables the SELECT element, and prevents it from receiving focus. multiple SYNOPSIS: DESCRIPTION: multiple If the MULTIPLE attribute is set, TV Navigator renders the SELECT element as a list box instead of a pop-up list. If necessary, TV Navigator will scroll the list to display all options. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 109 name SYNOPSIS: DESCRIPTION: name="string" Sets the name portion of the name-value pair submitted with the FORM data. popupbg SYNOPSIS: DESCRIPTION: popupbg="url" Places a background image in a SELECT pop-up list. popupdirection SYNOPSIS: DESCRIPTION: popupdirection=["up" | "down" | "auto"] TV Navigator uses a fixed algorithm to determine the pop-up direction of a SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. An additional attribute of the SELECT element specifies the preferred drawing direction of the pop-up. The POPUPDIRECTION attribute supports the following values: up The pop-up is drawn upwards from the SELECT element, if there is enough space to do so. down The pop-up is drawn downwards from the SELECT element, if there is enough space to do so. auto This is the default behavior of the SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. AVAILABILITY: Introduced in TV Navigator Standard 1.2.7.3. Not available in TV Navigator 1.3 or TV Navigator 1.5. 110 CHAPTER 2: HTML REFERENCE JANUARY 2002 selbgcolor SYNOPSIS: DESCRIPTION: selbgcolor="color" Specifies the color to use as a background for selected options. The default value is a dark grey. seltext SYNOPSIS: DESCRIPTION: seltext="color" Specifies the color of the text for selected options. The default value is black. size SYNOPSIS: DESCRIPTION: size="rows" Sets the number of rows to display. If SIZE is set to greater than 1, the SELECT element changes from a pop-up menu to a list box. text SYNOPSIS: DESCRIPTION: text="color" Specifies the color used to draw the OPTION element text. It applies to all text in the SELECT element and the pop-up list. If TEXT is not set, the color defaults to black. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The SMALL element decreases the size of the enclosed text by moving down one value in the 1-7 scale. SMALL elements can be nested for a cumulative effect. For more information on font sizing, refer to the SIZE attribute of the FONT element. For example: This is normal text.This is one size smaller. This is normal text again. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 111 USAGE: ATTRIBUTES: s1 yes c3 no align="position" height="pixels"; width="pixels" size="pixels" type=["block" | "horizontal" | "vertical"] Overview The SPACER element creates a block of background-colored (invisible) space that can help position elements on the page. The TYPE attribute lets you define three kinds of spacers: • type="block". This is a rectangular spacer that moves subsequent elements vertically and horizontally. • type="horizontal". This spacer adds a block of horizontal space on the same line of text. • type="vertical". This spacer adds a block of vertical space between lines of text. Figure 22 shows a block of text containing the three spacer types (spacers are shown colored and outlined for illustrative purposes). Figure 22: SPACER Elements in TV Navigator Standard 112 CHAPTER 2: HTML REFERENCE JANUARY 2002 Variations The SPACER element is not supported in TV Navigator Compact. Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of block-type SPACER elements in relation to surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. height, width SYNOPSIS: height="pixels" width="pixels" The HEIGHT and WIDTH attributes control the size of type="block" SPACER elements. TV Navigator may find it necessary to alter the size of SPACER elements to make content fit. For more information, refer to the NOBR element. DESCRIPTION: size SYNOPSIS: DESCRIPTION: size="pixels" The SIZE attribute sets the width of type="vertical" SPACER elements and the height of type="vertical" spacer elements. type SYNOPSIS: DESCRIPTION: type=["block" | "horizontal" | "vertical"] Sets the behavior of the SPACER element. If you set type="block", you must specify both HEIGHT and WIDTH attributes. If you set type="horizontal" or type="vertical", you must specify the SIZE attribute. There is no default setting. For example: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 113 USAGE: ATTRIBUTES: s1 yes c3 no ... ... none The STRIKE element renders all text contained between the opening and closing tags with a strikethrough line. It is identical to the S element. For example: Tonight’s menu features ginger-pineapple cous-cous served on a bed of organic wilted dandelions. Variations The S and STRIKE elements are not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The STRONG element renders all text contained between the opening and closing tags as bold. It is similar to the EM element. For example: The rain in Spain falls mainly on the plains. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 114 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUB element renders all text contained between the opening and closing tags as subscript. Variations The SUB element is not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUP element renders all text contained between the opening and closing tags as superscript. Variations The SUB element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 115 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] background="URL" bgcolor="color" border="pixels" cellpadding="pixels" cellspacing="pixels" cols="number" dynamiccols="number" frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] height=["pixels" | "percent"]; width=["pixels" | "percent"] highlightable hspace="pixels"; vspace="pixels" layer=["background" | "middle" | "foreground"] name="string" rules=["all" | "cols" | "groups" | "none" | "rows"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview Tables allow you to arrange data into rows and columns of cells, and also perform basic layout tasks. Table cells in TV Navigator can hold any content that a BODY element can hold: text, images, forms, and even the television picture. TV Navigator Standard (all versions) also supports dynamic tables—tables the user can navigate, and that JavaScript can modify at run time. Dynamic table cells, however, are limited to plain text. No images, hypertext links, embedded tables, or other HTML elements are allowed. For more information, refer to “Dynamic Tables” on page 120. 116 CHAPTER 2: HTML REFERENCE JANUARY 2002 Table Structure The structure of a table is highly specific. At minimum, a TABLE element holds a set of TR row elements, which in turn hold a set of TD cell elements. Optionally, the TABLE element can also include a row of TH heading cells and/or a CAPTION. For example, the following code creates a table like the one shown in Figure 23: This is the caption Head 1Head 2Head 3 cell 1cell 2cell 3 cell 4merged cells cell 7cell 8cell 9 default border is 2 pixels wide Figure 23: Basic Table Structure Note that end tags are not required for any of the table subelements. Row elements terminate automatically at the start of another row element, and cell elements terminate at the start of another cell or a row element. Table Position and Size The position of a TABLE element on the page is determined by the ALIGN, HSPACE, and VSPACE attributes. If these attributes are not specified, the table assumes the position a paragraph element would have in the same spot in the document. Figure 24 shows how the HSPACE and VSPACE attributes affect spacing from adjacent page elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 117 Paragraph element above... vspace cell 1 hspace cell 4 cell 2 cellspacing cellpadding cell 3 cell body cell margin merged cells table margin table caption vspace Paragraph element below... Figure 24: Table and Cell Positioning Several factors determine the size of the TABLE element and its subelements in TV Navigator: • First and foremost are the values of the HEIGHT and WIDTH attributes. You specify values for these in pixels (absolute size) or in a percentage of the visible container. The “container” can be the entire safe area of the screen, part of the screen defined by a FRAME element, or even another TD table cell. The values of height and width are taken as suggestions only— TV Navigator makes automatic adjustments to tables to ensure proper layout on the television screen. For more information, refer to the HEIGHT attribute of TABLE. • The number of rows in the table, and the number of cells in each row. Because horizontal scrolling is not allowed, TV Navigator will squeeze wide tables to fit in the allowable space. However, vertical scrolling is allowed, and long tables with many rows will be split into multiple screens. • The size of individual TD cell elements. TV Navigator establishes a minimum size for the cell—generally the smallest size possible while preserving legibility. The setting of the cell TD HEIGHT attribute can only increase the size of the cell; the height of the cell cannot be made smaller than the automatic minimum size. Cell size is also affected by the value of the TABLE CELLPADDING attribute (see Figure 24), which adds additional space between the cell body and the cell margin. • The value of the TABLE attribute CELLSPACING (see Figure 24), which inserts additional space between cell margins. The BORDER, CELLSPACING, and CELLPADDING attributes interact in TV Navigator. For more information, refer to the description of the BORDER attribute. 118 CHAPTER 2: HTML REFERENCE JANUARY 2002 Color Layering in Tables Color in TV Navigator tables works differently than you may expect. Tables, rows and cells are arranged in layers, each with a settable BGCOLOR attribute. By default, the BGCOLOR of all table components is transparent, allowing any color or image defined in a lower layer to show through to upper layers as shown in Figure 25. direction of transparency Figure 25: Layering of Background Colors in Tables Thus, if you set the table background color (for example, ), you cannot make a single TD cell transparent to the TV image in the BODY background. The only way to achieve this effect would be to leave the table transparent, and then set the BGCOLOR of each cell in the table explicitly. For more information about transparency, refer to “Transparent Backgrounds” on page 156. It is also possible to simultaneously set the background image and the background color for both tables and table cells. In the TV Navigator layering model, the TABLE BGCOLOR is in a layer above the BACKGROUND image for the table. If you set both TABLE BACKGROUND and BGCOLOR, you will see the background image peeking out from the spaces created by the CELLSPACING attribute. The opposite is true in table cells. When both TD (or TH) BGCOLOR and BACKGROUND are set, the background image for the cell appears in a layer above the background color. If the image in the cell is partially transparent, the background color for the cell will show through the transparent areas. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 119 HTML Error Correction According to strict HTML syntax, all table content must be placed inside TD or TH elements. If any content is outside these elements, but inside the TABLE element, TV Navigator automatically adds a TD element to contain the misplaced content. Variations TV Navigator Compact supports the nonstandard LAYER attribute, which determines the rendering level of the table and its contents. TV Navigator Compact does not support any dynamic table features. Dynamic Tables The information in this section applies only to the HTML aspects of dynamic tables. To fully explore the possibilities of dynamic tables you must use JavaScript. Refer to the Table object and Cell object descriptions Content Developer’s Reference (or the Liberate JavaScript Reference, when available). The following attribute descriptions in this reference also provide helpful information: • Dynamic table attributes: DYNAMICCOLS, HIGHLIGHTABLE, and NAME • Dynamic TD cell attributes: BEHAVIOR, FOCUSABLE, and HIGHLIGHTABLE Limitations on Content As it’s set up in HTML, a dynamic table is indistinguishable from any other table (except that it has a name). It can contain anything that any other table can—images, multiple fonts in one cell, and even other tables. However, the dynamic content that JavaScript can place in a table cell is limited to plain text. No images, forms, hypertext links, embedded tables, or other HTML elements are allowed. JavaScript can place new text in a cell, but the new text cannot contain any HTML tags. Even character entities (like and &") and elements that format the text (like TT and BR) are not permitted. At present, TV Navigator doesn’t have dynamic access to the static content of a cell (the content assigned in HTML), even if that content is plain text. For example, it can change the color of text that JavaScript puts in a cell, but it can’t modify the color of text assigned with the TD element. Similarly, JavaScript cannot scroll any text placed in cells when the table was set up 120 CHAPTER 2: HTML REFERENCE JANUARY 2002 in HTML. A cell’s static content is wiped away when the cell is first dynamically modified in any way. If you intend a table to be dynamic, you generally would not assign it images and other elements that would be very different from the contents it can display dynamically. It usually makes the most sense to simply lay out the table and assign font characteristics in HTML, but provide all the content through JavaScript. Even the initial content the user sees can be set dynamically, in an onload() handler. Font Attributes of Cells Because JavaScript disallows even HTML elements that format text (such as B and TT), it cannot modify the font used to display text in table cells. Each cell retains the font characteristics that it was assigned when it was set up in HTML. You can use any of the following elements to format content in a cell when you define the table: B BIG CITE CODE EM FONT I KBD S SAMP SMALL STRIKE STRONG TT U VAR However, these elements set cell formats only if they appear before the first character of text in the cell. For example, the following code sets up a row in a dynamic table: first second third . . . In this example, whatever text JavaScript places in these cells will adopt the specified font characteristics—bold in the first cell, plain text in the second, and both underlined and italic in the third. These attributes stay with the cell and cannot be changed. However, if the font elements appear after the first character, they format the static text that HTML puts in the table, but don’t affect any text subsequently written to the cell. The only font attribute that escapes this restriction is the color of the text. It can be modified at any time through JavaScript. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 121 Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] The ALIGN attribute sets the horizontal alignment of the table relative to its container (BODY element or TD/TH table cell). background SYNOPSIS: DESCRIPTION: background="URL" Allows you to specify an image to use as the background of the TABLE element. For example: TV Navigator positions the image in the upper left corner of the table and tiles the image to fill the space. The image is never scaled. If both BACKGROUND and BGCOLOR are set for the table, the background image appears below the apparent background color—the image only appears if the CELLSPACING attribute is large enough to separate the cells. The value of URL can also take the color: protocol, and when used that way it functions exactly like the BGCOLOR attribute. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color of the TABLE element. This is equivalent to setting the background color for all of the cells of the table. The value of color can be any valid color name or hexadecimal value. Also see the BACKGROUND attribute. border, cellpadding, cellspacing SYNOPSIS: border="pixels" cellpadding="pixels" cellspacing="pixels" The BORDER and CELLSPACING attributes of the TABLE element interact to some extent, due to TV Navigator’s policy of avoiding horizontal lines that are DESCRIPTION: 122 CHAPTER 2: HTML REFERENCE JANUARY 2002 1-pixel-wide whenever possible. The policy is aimed at reducing on-screen flicker. The BORDER attribute specifies grid lines around each cell, around the CAPTION if there is one, and around the entire table. For TV Navigator, these lines are either 1 pixel wide or they don’t exist. You have no control over border width. Add a border by giving the TABLE element a BORDER attribute without a value, or by using any value other than 0: Eliminate the border by removing the BORDER attribute or setting it to 0: The CELLSPACING attribute is the amount of space (in pixels) lying between the cells in a table, and between the edge of the table and the cells. The space is transparent, so it lets the background behind the table (not the table background) show through. If a table has a border, TV Navigator doesn’t display any space between cells, no matter what the CELLSPACING setting is. This forces the grid lines around adjacent cells (and around the caption and the whole table) to lie right next to each other, without any intervening space. The grid lines are 1 pixel wide, so the cell borders appear to be 2 pixels wide (1 pixel contributed by each cell). In effect, if you choose a bordered table, you’re choosing a 2-pixel-wide border with no space between the cells. If a table does not have a border, CELLSPACING can be set to any value, including 0. For the TV Navigator Standard, the default value is 2 pixels. However, in its attempt to avoid 1-pixel-wide lines, TV Navigator Standard doesn’t honor a CELLSPACING setting of 1. If cells could be separated by a single pixel, the separation might appear as a line 1 pixel wide. Imagine, for example, cells with a red background displayed over a green page. Thin green lines would separate the red cells. Therefore, if CELLSPACING is set to 1, TV Navigator increases the space to 2 pixels. The CELLPADDING attribute determines the width of the margin (in pixels) that separates the contents of a cell from the cell’s edge. Here, again, TV Navigator will not honor a setting of 1. If a 1-pixel margin is specified, 2 pixels are used. This prevents the margin from appearing as a 1-pixel-wide line when, for example, the cell has a background color and the content of the cell is a rectangular image. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 123 VARIATIONS: In TV Navigator Compact, the border does not render if the table is in the foreground layer of the page. cellpadding see border cellspacing see border cols SYNOPSIS: DESCRIPTION: cols="number" The intent of this attribute is to inform TV Navigator how many columns there are in the table. In a long table this may accelerate the layout time. If the table is dynamic (has the NAME attribute set), you must use the DYNAMICCOLS attribute instead. dynamiccols SYNOPSIS: DESCRIPTION: dynamiccols="number" TV Navigator ensures that each row in a dynamic table will have at least the DYNAMICCOLS number of TableCell objects. A row has one TableCell object for each TD or TH element assigned to the row in HTML, or the number of objects specified by DYNAMICCOLS, whichever is greater. The number of TableCells for the row is fixed when the table is set up; TV Navigator currently cannot produce new TableCell objects on the fly. This attribute therefore permits you to set up a dynamic table with cells spanning more than one column, like the one in Figure 26. For example: one plus two three one two plus three one two three 124 CHAPTER 2: HTML REFERENCE JANUARY 2002 one plus two one one two three three two plus three Figure 26: Spanning in a Dynamic Table When the column spans are reduced and more cells are needed in the first two rows, the TableCell objects will be available, because the TABLE element specified a minimum of three cells per row. The DYNAMICCOLS attribute has second purpose: It lets JavaScript know the minimum number of cells to scroll. If this attribute is not set, table scrolling will not work. Therefore, it should be set whether or not any cells span more than one column in the initial table. AVAILABILITY: Not available in TV Navigator Compact. frame SYNOPSIS: frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] The FRAME attribute determines which outside borders are drawn (see Figure 27). This attribute is planned for a future release of TV Navigator. default above below border box DESCRIPTION: hsides lhs rhs void vsides For clarity, inner borders are not shown, but are present by default. Figure 27: Behavior of the FRAME Attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 125 height, width SYNOPSIS: height=["pixels" | "percent"] width=["pixels" | "percent"] The WIDTH attribute of the TABLE element is taken only as a suggestion. TV Navigator usually respects it as a minimum, but may find it necessary to make the table wider or narrower, as follows: • Tables that are too wide for the screen are reduced in size so they fit, regardless of the WIDTH specified. • Because the default font size is larger for TV Navigator than for other browsers, it sometimes takes more space to display a table than the WIDTH specification allows. If necessary, the table is resized, ignoring the requested table width. If a table is located in a document, percentage specifications of its WIDTH and HEIGHT are relative to the frame that contains the document. However, if a table is embedded within another table, the percentages are relative to the size of the cell where it’s located. If the size of that cell isn’t explicitly given in HTML, the percent size of the inner table is completely ignored. Note that the table border (the BORDER attribute), the spacing between cells (the CELLSPACING attribute), and the padding within a cell (the CELLPADDING attribute) all take space from the specified WIDTH and HEIGHT. DESCRIPTION: highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set HIGHLIGHTABLE for all cells in the table. The settings for individual cells override the TABLE setting. For more information, refer to the TD HIGHLIGHTABLE attribute. Not available in TV Navigator Compact. AVAILABILITY: hspace, vspace SYNOPSIS: hspace="pixels" vspace="pixels" Use the HSPACE and VSPACE attributes to add a margin of empty (backgroundcolored) space between the table and adjacent content (see Figure 24). HSPACE DESCRIPTION: 126 CHAPTER 2: HTML REFERENCE JANUARY 2002 adds a margin to the left and right of the table; VSPACE does the same for the top and bottom of the table. layer SYNOPSIS: DESCRIPTION: layer=["background" | "middle" | "foreground"] Specifies the rendering layer for the TABLE element. Any setting for the table applies to all of its contents, except for nested tables, which may have a higher layer setting. background The table is rendered as part of the background to an MPEG I-frame. middle The contents of the TABLE element are sent to the set-top box as MPEG P-frames (images) and overlays (text). The P-frame is built from 16-pixel macroblocks that contain the image and any background pixels around the image if the image is not exactly aligned on 16-pixel boundaries (which is true for most cases). foreground If layer="foreground", the behavior is identical to layer="middle". Note that this behavior may change in futures versions of the client. If the BODY element is in the foreground, any contained TABLE elements must be in the foreground as well, and will be rendered as P-frames (for images) and overlays (for text) above the background I-frame. Care must be taken to avoid overlapping P-frames. Use the Compact Layout Tool to check for overlapping P-frames. If overlapping is detected, the content must be corrected accordingly. AVAILABILITY: Available in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute assigns a name to the JavaScript object for the table: This also signals that you want the table to have dynamic behavior. VARIATIONS: Previously, tables in TV Navigator Standard 1.x without NAME attributes were not dynamic. Now all tables in Standard 1.x are dynamic (excluding Standard JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 127 1.1). Tables in TV Navigator Compact are not dynamic, and do not support the NAME attribute. rules SYNOPSIS: DESCRIPTION: rules=["all" | "cols" | "groups" | "none" | "rows"] The RULES attribute determines which interior borders are drawn, as shown in Figure 28. This attribute is planned for a future release of TV Navigator. default all cols groups none rows Figure 28: Behavior of the RULES attribute vspace see hspace width see height 128 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... ... align=["center" | "char" | "justify" | "left" | "right"] background="URL" behavior=["scroll" | "slide" | "alternate"] bgcolor="color" colspan="number" direction=["left" | "right"] focusable=["true" | "false"] height="pixels"; width="pixels" highlightable=["true" | "false"] loop=["number" | "-1" | "infinite"] nowrap rowspan="number" scrollamount="pixels" scrolldelay="milliseconds" valign=["bottom" | "middle" | "top" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TD element represents a table cell, and as such it is a subelement of the table row TR element, which in turn is a subelement of the TABLE element. The TH element is a special kind of table cell that functions as a table header. For more information about the placement of TD and TH cells in the overall table structure, refer to the TABLE element. Both TD and TH elements can contain any content that can be held by the BODY element, including text, images, hyperlinks, and embedded objects (when supported). While end tags are not required because a TD cell terminates at the start of any other TABLE element, they are recommended. The attributes of TD and TH are identical, and include a number of Liberate-only extensions. The first group of extended attributes creates animated effects. For more information about these animation attributes, refer to the complete description under the BEHAVIOR attribute. The second group of attributes makes table cells dynamic, allowing them to accept user focus JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 129 (FOCUSABLE) and be highlighted by the focus ring (HIGHLIGHTABLE). These dynamic attributes only work on versions of TV Navigator that have dynamic table abilities. Variations TV Navigator Compact does not support dynamic table elements. Attributes align SYNOPSIS: DESCRIPTION: align=["center" | "left" | "right"] Sets the horizontal alignment of content for the TD cell. background SYNOPSIS: DESCRIPTION: background="URL" The BACKGROUND attribute specifies an image file to use as a page background. The URL parameter can point to any .jpg, .png, or .gif image file. If the image is smaller than the cell, the image will be tiled. GIF images with transparent areas will display the BGCOLOR of the cell through the transparent areas. You can put the television image in the background of a cell by assigning the tv: URL to the BACKGROUND attribute. TV Navigator also allows the URL to be assigned using the color: protocol. For example: This is identical to the following: 130 CHAPTER 2: HTML REFERENCE JANUARY 2002 behavior, direction, loop, scrollamount, scrolldelay SYNOPSIS: behavior=["scroll" | "slide" | "alternate"] direction=["left" | "right"] loop=["number" | "-1" | "infinite"] scrollamount="pixels" scrolldelay="milliseconds" These five attributes animate text within a cell. The presence of any one of them is sufficient to cause cell text to move; a default value is used for any of the five that isn’t explicitly set. However, if none of the five attributes is set, the text in the cell won’t be animated. Text can be assigned to the cell in HTML or with the JavaScript TableCell.write() method. It’s limited to a maximum of 4 kilobytes. The BEHAVIOR attribute says how the text is to move. There are three sanctioned values: DESCRIPTION: • For "scroll", the cell starts out empty. Text scrolls into view from one side, moves through the cell, and exits on the other side. It then begins over again. This is the default setting of BEHAVIOR. • For "slide", the text also begins off to one side. It scrolls into view and stops before the first character can exit the other side. • For "alternate", the text bounces from one side of the cell to the other and back again. The DIRECTION attribute indicates the direction the text should scroll, slide, or move before its first bounce. It can be either "left" or "right": The default is "left". The LOOP attribute is the number of times the text will scroll past the user, slide into place, or bounce from side to side. It can be set to a specific number or, for continuous animation, to either "-1" or "infinite": The default LOOP is "infinite". JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 131 The SCROLLAMOUNT attribute is the number of pixels the text should move horizontally each time it’s redrawn, and SCROLLDELAY is the number of milliseconds separating one redraw from the next. Together they determine how smoothly and how fast the text moves. The default SCROLLAMOUNT is 4 pixels, and the default SCROLLDELAY is 66 milliseconds. VARIATIONS: These attributes are not supported in TV Navigator Compact. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the cell. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE or TR element to show through to the cell in the row. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” SEE ALSO: BACKGROUND attribute. colspan SYNOPSIS: DESCRIPTION: colspan="number" The COLSPAN attribute indicates the number of columns that the current TD cell should merge to the right. Every row that contains a COLSPAN merged cell from above will need (number - 1) fewer TD cells. For example, the following table: merged cells The resulting table looks like this: merged cells 132 CHAPTER 2: HTML REFERENCE JANUARY 2002 direction SYNOPSIS: DESCRIPTION: direction=["left" | "right"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute on page 131. focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] A cell in a dynamic table can take input focus and be selected by the user—if the cell’s FOCUSABLE attribute is set to "true" or is simply present without an assigned value. If the attribute is absent or set to "false", the cell cannot take the focus. As the user navigates from cell to cell, the focus will jump over it. To see the standard focus rectangle around the cell, you must also set the HIGHLIGHTABLE attribute for the cell or the table. To create a custom highlighting effect, you can use the onfocus and onblur event handlers for the cell. The focusability of a cell can be changed dynamically through a JavaScript TableCell property that matches this attribute. VARIATIONS: This attribute is not supported in TV Navigator Compact. height, width SYNOPSIS: height="pixels" width="pixels" To make tables fit within the width of the screen, TV Navigator may reduce the size of cells, ignoring the values set for the WIDTH attribute. Normally, WIDTH is taken as a minimum. Computer-oriented browsers widen a cell beyond the width specified if it’s necessary to display the contents of any cell in the same column (because all cells in a column have the same width). However, they don’t reduce a cell below the requested WIDTH and HEIGHT. TV Navigator tries to honor the requested WIDTH, but will reduce it if that’s the only way to keep everything in view and avoid horizontal scrolling. This can especially affect empty cells. For example, to add whitespace to a table, some content developers use empty cells with a specific WIDTH or HEIGHT. For DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 133 instance, if a table has 12 rows of cells and you want a left gutter of 20 pixels wide before each row, the first cell in the table could have this form: However, if table cells with content require more space than is available, TV Navigator tries to find the best fit, even if it means ignoring specified cell sizes. This can result in a loss of the 20 pixels of whitespace. To ensure that some whitespace exists in this worst case, add a SPACER element or a nonbreaking space as the only content in the cell: In this case, even if there isn’t enough room for the 20 pixels you asked for, at least the cells get the width of a space character in the default font setting. highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute determines whether the focus rectangle will be drawn around the cell when it’s the focus of user attention. Setting it to "false" prevents the rectangle from being drawn. In all other cases—setting it to "true", mentioning it with no value set, or not mentioning it at all—highlighting is automatic. This attribute gives you a way to turn off automatic highlighting if you have an alternative way of marking the cell when it’s in focus. For example, in JavaScript, you could implement TableCell.onfocus() and onblur() handlers that would change the background image or color of the cell. You can dynamically determine whether or not a cell will be highlighted with the focus rectangle through a JavaScript TableCell property that matches this attribute. The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set this behavior for all cells in the table. The settings for individual cells override the TABLE setting. VARIATIONS: This attribute is not supported in TV Navigator Compact. 134 CHAPTER 2: HTML REFERENCE JANUARY 2002 loop SYNOPSIS: DESCRIPTION: loop=["number" | "-1" | "infinite"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: nowrap SYNOPSIS: DESCRIPTION: nowrap If NOWRAP is specified for a TD cell, TV Navigator tries not to scale images or wrap text within the cell. Because horizontal scrolling is not allowed, TV Navigator will ignore NOWRAP if other cells in the table have to be squeezed, making their contents unreadable or too small. rowspan SYNOPSIS: DESCRIPTION: rowspan="number" The ROWSPAN attribute indicates the number of rows that the current TD cell should merge from below. Every TR row that contains a merged cell from above will need one less TD cell. For example: merged cells The resulting table looks like this: merged cells JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 135 scrollamount SYNOPSIS: DESCRIPTION: scrollamount="pixels" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: scrolldelay SYNOPSIS: DESCRIPTION: scrolldelay="milliseconds" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: valign SYNOPSIS: DESCRIPTION: valign=["bottom" | "middle" | "top" | "baseline"] The VALIGN attribute sets the vertical alignment of the cell contents. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the cell, respectively. A setting of "baseline" aligns the first line of text in the cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. width see height 136 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ...optionaltext... bgcolor="color" cols="numChars" disabled focusable=["true" | "false"] name="string" rows="numLines" wrap=["off" | "hard" | "soft"] onblur="JavaScript" onchange=JavaScript" onfocus="JavaScript" onselect="JavaScript" EVENT HANDLERS: Overview The TEXTAREA element creates a text input control inside a FORM element. The TEXTAREA element is different from the INPUT type="text" element because it allows the user to input multiple lines of wrapped text. You can set the size and appearance of the text area and control its behavior inside the form. Liberate has extended the TEXTAREA element with two attributes. The first lets you set the BGCOLOR of the element. The second attribute, FOCUSABLE lets you designate a text area as readonly—by setting focusable="false"—for the purpose of displaying text. The end tag is required for the TEXTAREA element, and in a typical form the end tag appears directly after the opening tag. However, you can choose to display text in the text area by inserting it between the opening and closing tags. Figure 29 shows an example of a TEXTAREA in a form with a background color and some initial text. cols="20" rows="2" bgcolor="papayawhip" Figure 29: TEXTAREA Element in TV Navigator JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 137 This is the code that created the text area: Symptoms: Type here When TV Navigator displays the text area to the user, it follows an algorithm that lets the user navigate the FORM and also edit text in the TEXTAREA: • First, the user navigates the entire page and the different elements inside the FORM by using the cursor keys or the Tab key to jump from element to element. • When the highlight rectangle lands on a TEXTAREA element, the user presses Enter or any alphanumeric key to begin typing. • The user can enter carriage returns in the text by pressing the Enter key. By default, text automatically wraps inside the TEXTAREA. Carriage returns entered by the user are submitted with the form data as line feeds. • The user can edit text already typed by using the cursor keys and the Backspace key. The entire field is cleared if the user presses the Delete key. • The user exits the text area by pressing the Tab key, or by moving the cursor beyond text already entered. If the text area is reentered during navigation, typing and editing begins after the last character. Variations The TEXTAREA element is not supported in TV Navigator Compact, because the FORM element is not supported. Attributes bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the TEXTAREA element. A setting of "transparent" (the default) allows the BGCOLOR attribute of the BODY element to show through to the background. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” 138 CHAPTER 2: HTML REFERENCE JANUARY 2002 cols SYNOPSIS: DESCRIPTION: cols="numChars" Sets the width of the element. The unit of measurement is a single character of the available monospace font. Thus, a value of "40" sets the width of the TEXTAREA to hold 40 characters. If no value is specified, the text area expands horizontally to fit the maximum space available. disabled SYNOPSIS: DESCRIPTION: disabled The DISABLED attribute prevents the user from focusing on the TEXTAREA element. No name-value pair will be sent to the server upon submission of the form. Compare this with the behavior of the READONLY attribute. This attribute is not yet supported in any version of TV Navigator. To prevent focus, use the FOCUSABLE attribute. VARIATIONS: focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] TEXTAREA elements are focusable by default. However, you may want to use a text area to simply display information to the user, rather than display what the user types. The FOCUSABLE attribute gives you a choice. If it is set to "true", listed without a value, or not listed at all, the text area can become the focus for user input. However, if it is set to "false", it cannot become the focus and will not display any characters the user types. In JavaScript, there is a matching Textarea object with the same property. With it, you can dynamically determine when the text field should accept input from the user. VARIATIONS: This attribute is not supported in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute of any form control, including TEXTAREA, is used for two functions. The first function of NAME is to identify the control for manipulation from JavaScript. The second function is to provide the “name” in the name- JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 139 value pair of data that is submitted to the server. Although NAME is not a required attribute, the text area serves little purpose without it. VARIATIONS: This attribute is not supported in TV Navigator Compact. rows SYNOPSIS: DESCRIPTION: rows="numLines" Sets the vertical height of the TEXTAREA element, in the number of lines of text to accommodate. If no value is specified, the default is 10 lines. wrap SYNOPSIS: DESCRIPTION: wrap=["off" | "hard" | "soft"] The "hard" and "soft" settings (the default is "soft") of the WRAP attribute produce automatic text wrapping. The user can also enter carriage returns in the text area by pressing the Enter key. If the WRAP attribute is set to "hard", carriage returns generated by automatic wrapping are sent as line feeds. The "soft" setting only sends carriage returns typed by the user. If WRAP is set to "off", any text that overflows the width setting of the TEXTAREA forces previously typed text to scroll off the text area to the left. This does not erase any previously typed text. To move down to the next line, the user must press a carriage return. All manually entered carriage returns are submitted as part of the form data. A one-row text area with WRAP set to "off" behaves just like an INPUT type="text" element. USAGE: ATTRIBUTES: s1 yes c3 yes ...text... none The TITLE element is required by the HTML specification. The text enclosed by the TITLE element defines the string displayed in history and favorites lists. In a PC browser, the content of the TITLE element is displayed as the label for the browser window. TV Navigator has no parallel function. 140 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] bgcolor="color" valign=["top" | "middle" | "bottom" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TR element defines a table row, and is therefore a subelement of the TABLE element, and a container for table cells (TD elements). The TR element accepts a limited number of attributes that determine alignment and color. These attributes can be overridden by local declarations in each table cell. TV Navigator does not require an end tag for TR. For more information about TR, refer to the complete description of the TABLE element. Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] Sets the horizontal alignment of content for all the cells in the TR row. The ALIGN attribute of a TR row can be overridden by local declarations of ALIGN for each TD cell in the row. bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["color" | "transparent"] Sets the background color for all the cells in the TR row. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE element to show through to the cells in the row. The BGCOLOR attribute of a TR row can be overridden by local declarations of BGCOLOR for each TD cell in the row. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 141 For more information about setting the color parameter, refer to Chapter 4, “Using Color.” valign SYNOPSIS: DESCRIPTION: valign=["top" | "middle" | "bottom" | "baseline"] The VALIGN attribute sets the vertical alignment of cell content in the TR row. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the row, respectively. A setting of "baseline" aligns the first line of text in each cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. The VALIGN attribute of a TR row can be overridden by local declarations of VALIGN for each TD cell in the row. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The TT element, along with the related CODE and PRE elements, serves little purpose in a television environment. The intent of TT is to display teletype output. In TV Navigator, TT elements look exactly like CODE elements. Refer to CODE for more information. Variations TV Navigator Compact does not support the TT element in the foreground layer. 142 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... none The U element creates an underline effect for the text it surrounds. The underline is 2-3 pixels wide (depending on the size of the text), and rendered in the same color as the text. To prevent visual artifacts, some versions of TV Navigator may “antialias” the underline—that is, paint either the top and/or bottom row of pixels in a lighter shade of the text color. Generally, the underline effect should be avoided, as most users expect underlined text to be a hyperlink. USAGE: ATTRIBUTES: s1 yes c3 yes ... compact type=["circle" | "disc" | "square"] Overview The UL element creates an unordered list of items, also called a “bulleted list.” Use the UL element to enclose the list, and LI elements to mark each list item. Only the UL element requires an end tag; end tags for LI items are not necessary, because these elements terminate automatically at the start of any other list element. For example: Red Orange Yellow Green In TV Navigator, the unordered list looks like (Figure 30). JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 143 default Unordered Lists in Standard 1.x Red Orange Yellow Green type="circle" Red Orange Yellow Green type="disc" Red Orange Yellow Green type="square" Red Orange Yellow Green default Unordered Lists in Compact 3.x type="circle" type="disc" type="square" Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Figure 30: Unordered Lists in TV Navigator As Figure 30 shows, TV Navigator Compact lets you control the appearance of the list with the TYPE attribute. This behavior applies to TV Navigator Micro Edition as well. To distinguish the list from the surrounding text, the entire list is typically indented 20 pixels to the right, and 30 pixels down from the previous line. For versions supporting the TYPE attribute, TV Navigator distinguishes levels of indentation (lists within lists) by altering the bullet type as follows: • Disc (first-level indent) • Square (second-level indent) • Circle (third-level indent) Variations TV Navigator Standard 1.x does not support the TYPE attribute. 144 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes compact SYNOPSIS: DESCRIPTION: compact The COMPACT attribute is intended to compress the appearance of an unordered list. In TV Navigator, lists are already rendered as compactly as possible, so this attribute has no visible effect. type SYNOPSIS: DESCRIPTION: type=["circle" | "disc" | "square"] Determines the appearance of the “bullet” at the start of each list item. The default value is "disc" (see Figure 30). Not supported in TV Navigator Standard 1.x. AVAILABILITY: USAGE: ATTRIBUTES: s1 yes c3 yes programvariable none The VAR element marks a character or word as a variable in a computer program or mathematical description. TV Navigator renders VAR in an italic version of the surrounding font. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 145 USAGE: ATTRIBUTES: s1 yes c3 no ...... none The WBR element can reside inside any section of text surrounded by a NOBR element. It allows the browser to insert a line break in the specified location if the window is not wide enough to fit the entire NOBR section. For example: JavaScript variables are marked read-only, write-only, or read/write to indicate whether they can be, respectively, examined but not modified, modified but not examined, or both examined and modified. In this example, TV Navigator breaks the passage after the word “marked” but not after “read/write”. Why is this so? If a WBR element occurs in a line following a line break generated by a previous WBR element, it is considered to be an optional line break for the same line, and is ignored. See the NOBR element for more information. Variations TV Navigator Compact does not support the WBR element. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The XMP element is intended to display a block of computer code. Although this element is supported in TV Navigator, you should use the PRE element instead. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 146 CHAPTER 2: HTML REFERENCE JANUARY 2002 Event Handlers CHAPTERS 3 Typically, the body of an event-handler function is defined in HTML. But handlers can also be defined in JavaScript. In some cases, they must be defined in JavaScript because they belong to objects (like NetRequest and User Manager) that don’t have HTML counterparts. In HTML, event handlers are defined as strings of JavaScript code. However, in JavaScript, they should be defined as functions. For more information, refer to “Defining Event Handlers” in the Content Developer’s Guide. Note: To conform to the HTML specification, event handler names used as tag attributes are case-insensitive. However, to maintain consistency with the Liberate JavaScript implementation, all event handlers defined here are lowercase only. AVAILABILITY The event-handler attributes listed here apply only to TV Navigator Standard 1.2 (and higher) . Versions of TV Navigator that use a microBrowser application, such as TV Navigator 3.x (and higher), will ignore the event-handlers and any associated JavaScript. ATTRIBUTES onabort SYNOPSIS: DESCRIPTION: The event-handling attribute onabort triggers when the transfer of an image to the client has been interrupted. Typically, the ELEMENT is IMG. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Availability 147 onblur SYNOPSIS: DESCRIPTION: The event-handling attribute onblur triggers when the ELEMENT loses the input focus. onchange SYNOPSIS: DESCRIPTION: The event-handling attribute onchange triggers when the ELEMENT loses focus and its contents changed while it had focus. The most common use for the onchange attribute is on the form elements INPUT, SELECT, and TEXTAREA. onclick SYNOPSIS: DESCRIPTION: The event-handling attribute onclick triggers when the user has pressed a key on the remote or keyboard to invoke the ELEMENT that’s currently in focus. onerror SYNOPSIS: DESCRIPTION: The event-handling attribute onerror executes its JavaScript statement when an error is detected in the document. For example, the onerror event handler would fire if there was an error following a link or loading an image. The most common ELEMENTs for onerror are the IMG element and the BODY element. On the BODY element, onerror refers to the entire window object, not just the document object. onfocus SYNOPSIS: DESCRIPTION: The event-handling attribute onfocus triggers when the ELEMENT receives the input focus. 148 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 onkeyout SYNOPSIS: DESCRIPTION: The event-handling attribute onkeyout is a Liberate extension to the HTML specification. This method belongs to the JavaScript Input object, and is designed to handle cases where user input does not apply to the context of the current page. For example, the onkeyout event handler would fire if the user changed channels, but the current HTML document has no object to process channel changing. For more information, refer to the “Input Object” topic in the Content Developer’s Reference. onload SYNOPSIS: DESCRIPTION: The event-handling attribute onload triggers when the document specified by ELEMENT completes downloading into TV Navigator. The most common ELEMENTs for onload are BODY, FRAMESET and IMG. onmouseout SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseout triggers when the user input focus leaves ELEMENT after landing on it. Because there is no mouse present in the TV environment, TV Navigator treats onmouseout the same as onblur. onmouseover SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseover triggers when the user input focus lands on ELEMENT. Because there is no mouse present in the TV environment, TV Navigator treats onmouseover the same as onfocus. onnavigate SYNOPSIS: DESCRIPTION: The event-handling attribute onnavigate is a Liberate extension to the HTML specification. onnavigate is called once if the user attempts to move the focus rectangle in any direction from the cell that’s currently in focus. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Attributes 149 onreset SYNOPSIS: DESCRIPTION: The event-handling attribute onreset triggers when the user selects the Reset button in a form. onreset applies only to FORM elements. onselect SYNOPSIS: DESCRIPTION: The event-handling attribute onselect triggers when the user selects text in an INPUT or TEXTAREA element. Note that TV Navigator does not support user selection of text. onsubmit SYNOPSIS: DESCRIPTION: The event-handling attribute onsubmit triggers when the user selects the Submit button in a form. onsubmit applies only to FORM elements. onunload SYNOPSIS: DESCRIPTION: The event-handling attribute onunload triggers when a document is about to be unloaded from a window or frame. To apply onunload to a window, it must be an attribute of the BODY element in the affected document. Alternatively, onunload can apply to a FRAME element. onvisible SYNOPSIS: DESCRIPTION: The event-handling attribute onvisible triggers when the visibility of the ELEMENT changes. When defined as the attribute of a BODY element, the document must be in the topmost window, not a frame. For example: onvisible can also be defined as an attribute of the FRAMESET element, provided that it’s the topmost frameset. 150 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 Using Color CHAPTERS 4 Television is an inherently colorful medium. Viewers expect content on the TV screen to not only be colorful, but to use color in specific ways. For example, the Yahoo! Web site (http://www.yahoo.com) uses a black and blue over white color scheme that is both efficient and familiar to computer users. On a television screen, however, such a color scheme would rarely be seen. By using the standards of the Web, TV Navigator lets you specify color schemes for your content that are effective and attractive on a TV screen. For more information about designing with color, refer to the Content Developer’s Guide. This chapter provides a description of all HTML attributes that specify color, and how to specify color using hexadecimal RGB codes or predefined color names. COLOR ATTRIBUTES Refer to Chapter 2, “HTML Reference,” for a complete description of the HTML elements mentioned here. Note: In TV Navigator Compact, color attributes are limited if they are located in the foreground layer of the page. For more information about layering, refer to the DIV, BODY, and FONT elements in Chapter 2. link, alink, vlink SYNOPSIS: These attributes determine the color of links (LINK), selected links (ALINK), and visited links (VLINK) in the BODY element of your HTML document. You can DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Attributes 151 specify color using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. For example, both of these opening body tags (not in the same document, of course), specify a greyish-blue color for links on the page: VARIATIONS: TV Navigator does not support the ALINK or VLINK attributes. bgcolor SYNOPSIS: This attribute determines the background color of the document or the background color of tables, rows, and cells. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: color SYNOPSIS: The COLOR attribute determines the color of text enclosed by the FONT element. Alternatively, the color of all text following a BASEFONT element can be set with the COLOR attribute. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: text SYNOPSIS: DESCRIPTION: The TEXT attribute of the BODY element sets the global color of text in the document. The FONT and BASEFONT elements can override this global attribute with local declarations of text color. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. 152 Color Attributes CHAPTER 4: USING COLOR JANUARY 2002 HEXADECIMAL RGB Hexadecimal RGB is the most common (and compatible) method for specifying color as an attribute. “RGB” refers to a triplet of values for red, green, and blue. Each of the three colors is represented by a two-digit hexadecimal (“hex” for short) number. The hex number 00 (decimal 0) equals no color, while hex FF (decimal 255) equals full color. Therefore, #000000 represents pure black and #FFFFFF represents pure white. Intermediate values for red, green, and blue in different ratios can reproduce the entire color spectrum. For example, Figure 31 shows how to create the named color “chocolate” using the hexadecimal RGB scheme. Pound Sign #D2691E Red Value Green Value Blue Value chocolate #D2691E Figure 31: Specifying Color in Hexadecimal RGB To specify “chocolate” as the background color of a page in HTML, you would use either of the following methods: COLOR NAMES TV Navigator recognizes a set of 140 color names that can be used as attributes. This set is common to all versions of TV Navigator as well as current versions of Internet Explorer and Netscape Navigator. This list of 140 named colors should not be confused with the set of 216 “Web-safe” colors that are in common use. The Web-safe colors form a palette that reproduces consistently between different PC browsers. Web-safe colors are not a concern on TV Navigator. If you will be setting the color of an object dynamically from JavaScript, you cannot use the named colors. You must use hexadecimal RGB for dynamic properties. The following three figures show the complete set of 140 named colors. The hexadecimal RGB equivalent is shown below the color name. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Hexadecimal RGB 153 aliceblue #F0F8FF #F0FFFF antiquewhite #FAEBD7 #F5F5DC #0000FF #5F9EA0 aqua #00FFFF #FFE4C4 #8A2BE2 #7FFF00 #FFF8DC #008B8B #BDB76B #9932CC #483D8B #FF1493 #B22222 #DCDCDC #808080 #FF69B4 #F0E68C aquamarine #7FFFD4 #000000 #A52A2A #D2691E #DC143C azure beige bisque black blanchedalmond #FFEBCD burlywood #DEB887 #FF7F50 #00FFFF #A9A9A9 blue blueviolet brown cadetblue chartreuse chocolate crimson coral cornflowerblue #6495ED darkblue #00008B #006400 #FF8C00 #8FBC8F #9400D3 #1E90FF #FF00FF #DAA520 #F0FFF0 #FFFFF0 cornsilk cyan darkcyan darkgoldenrod #B8860B darkmagenta #8B008B #8B0000 #2F4F4F #00BFFF #FFFAF0 #F8F8FF #F008000 #CD5C5C #E6E6FA darkgray darkgreen darkkhaki darkolivegreen #556B2F darksalmon #E9967A #00CED1 #696969 #228B22 #FFD700 #ADFF2F #4B0082 darkorange darkorchid darkred darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fushcia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender Figure 32: Named Colors (page 1 of 3) 154 Color Names CHAPTER 4: USING COLOR JANUARY 2002 lavenderblush #FFF0F5 #F08080 #D3D3D3 #87CEFA #00FF00 #B03060 lawngreen #7CFC00 #E0FFFF #FFB6C1 #778899 #32CD32 lemonchiffon #FFFACD lightblue #ADD8E6 #90EE90 #20B2AA #FFFFE0 #FF00FF lightcoral lightcyan lightgoldenrodyellow #FAFAD2 lightsalmon #FFA07A #B0C4DE #FAF0E6 #0000CD lightgreen lightgray lightpink lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine #66CDAA mediumseagreen #3CB371 mediumvioletred #C71585 moccasin #FFE4B5 #808000 #DA70D6 #DB7093 #FFC0CB #FF0000 #FA8072 mediumblue mediumorchid #BA55D3 mediumspringgreen #00FA9A mintcream #F5FFFA #000080 #FFA500 #98FB98 #FFDAB9 #B0E0E6 #4169E1 #2E8B57 mediumpurple #9370DB mediumturquoise #48D1CC mistyrose #FFE4E1 #FDF5E6 #FF4500 #AFEEEE #CD853F #A020F0 #8B4513 mediumslateblue #7B68EE midnightblue #191970 #FFDEAD #6B8E23 navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod #EEE8AA papayawhip #FFEFD5 #DDA0DD #BC8F8F #F4A460 palegreen paleturquoise palevioletred peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen Figure 33: Named Colors (page 2 of 3) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Names 155 seashell #FFF5EE #6A5ACD #4682B4 #FF6347 #F5DEB3 #9ACD32 sienna #A0522D #708090 #D2B48C see text #FFFFFF silver #C0C0C0 #FFFAFA #008080 #40E0D0 #F5F5F5 skyblue #87CEEB #00FF7F #D8BFD8 #EE82EE #FFFF00 slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen Figure 34: Named Colors (page 3 of 3) TRANSPARENT BACKGROUNDS Note: TV Navigator Compact does not support transparency. The BGCOLOR attribute of the following elements can be set to “transparent”: Form elements that display text also have a BGCOLOR attribute that can be “transparent”: In these contexts, “transparent” is a color name, just like “red”, “lime”, or “maroon”, except that it indicates the absence of a background color. You can think of the elements displayed within a window as being layered. When one of them is transparent, the background image of the element underneath it shows through. For 156 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 example, if a table cell is transparent and the body of the document it’s in is assigned a background color or image, you’ll see the image underneath whatever text is placed in the cell: For the purpose of background color, tables, table rows, and table cells are all in the same layer. Setting BGCOLOR for a table is simply a convenient way of setting it for all cells in the table; setting it for a row simply sets it for all cells in the row. Therefore, any transparency in a table lets the body background show through. The following BODY element has a transparent background color, and is displayed in a frame: In this example, the image that shows through is the one assigned in the FRAMESET element, as discussed in the previous section. However, if the document is at the top level of the window, rather than in a subframe, the contents of the window behind it will show through. In this way, a small window can pop up in front of another window and blend with the larger window’s contents. BGCOLOR defaults to “transparent” for the table cells, but not for BODY or FORM elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Transparent Backgrounds 157 158 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 Content Data Types CHAPTERS 5 TV Navigator has the built-in ability to handle various types of data retrieved over the Internet. This chapter lists the types it handles without any help—the audio types it can play, the text and image types it can display, and so on. It shows the content-type string (the MIME media type) along with the file extensions that typically identify the type—for example, “audio/wav” and something.wav for a file with data in the Waveform Audio File Format. Because TV Navigator is a thin client, some of the work of interpreting incoming data may be taken over by a server, particularly the Liberate Transcode server. The server processes incoming data and translates it to another, private type for more efficient handling by the client software. For example, the TV Navigator client can display JPEG and GIF images although it never sees the JPEG and GIF data formats. The server converts these formats to a third type before sending the data to the client. This chapter documents the MIME media types that the server and client, working together, can handle. It doesn’t document the private types used internally between client and server. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 159 TEXT FORMATS text/plain EXTENSIONS: DESCRIPTION: .txt etc. Plain text not formatted with HTML tags. text/html EXTENSIONS: DESCRIPTION: .html, .htm HTML documents. 160 Text Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 AUDIO FORMATS Beginning with release 1.3, TV Navigator (not Compact) supports sampled audio data in the WAV, AIFF, and AU formats. It accepts both monaural and stereo data sampled at all standard rates, namely: 8.000 kHz 11.025 kHz 12.000 kHz 16.000 kHz 22.050 kHz 24.000 kHz 32.000 kHz 44.100 kHz 48.000 kHz However, the three formats differ in which compression schemes and sample sizes are supported. Those differences are described in the list of types that follows. Although a range of sampled audio data is understood—including all common encodings—the Transcode server simplifies the variety for the client. It currently translates all audio data to a single format at one encoding, sample rate, and sample size before delivering it to the set-top box. In TV Navigator Standard 1.1 and 1.2, all sound data must be in the WAV format, uncompressed, monaural, and sampled at 8 bits per second. audio/aiff, audio/x-aiff EXTENSIONS: DESCRIPTION: .aiff, .aif Audio Interchange File Format (AIFF), developed by Apple Computer and used mainly on their computers. TV Navigator supports only uncompressed, linear PCM (Pulse Code Modulation) encodings at either 8 or 16 bits per sample. audio/basic EXTENSIONS: DESCRIPTION: .au Audio (AU) format, developed by Sun Microsystems and originally used on UNIX machines. Several encodings are supported, primarily the following: • Uncompressed, linear PCM encoding, either integer or floating point, at 8, 16, or 32 bits per sample • Conventional A-law and µ-law compression (the CCITT G711 standard) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Audio Formats 161 In addition, two versions of ADPCM (Adaptive Differential Pulse Code Modulation) encoding are supported on an experimental basis: • G721 compression at 4 bits per sample • G723 compression at 3 or 5 bits per sample audio/wav, audio/x-wav EXTENSIONS: DESCRIPTION: .wav Waveform Audio File Format (WAV), first defined by Microsoft for multimedia extensions to Windows and now an Internet standard. The supported encodings are: • Uncompressed, linear PCM encoding at 8 or 16 bits per sample (floating point is not supported) • A-law and µ-law compression (the G711 standard) • Microsoft ADPCM compression • IMA (Interactive Multimedia Association) ADPCM compression • G721 ADPCM compression 162 Audio Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 IMAGE AND VIDEO FORMATS image/gif EXTENSIONS: DESCRIPTION: .gif The GIF format (Graphic Interchange Format) for representing image data. This format diplays compressed (lossless), 256-color images. Depending on how the images are prepared, they can be optionally transparent or interlaced. Use this format for images with hard edges and solid areas of color. Animation is also supported in this format, but is not recommeded in TV Navigator. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: image/jpeg EXTENSIONS: DESCRIPTION: .jpeg, .jpg, .jpe The JPEG (Joint Photographic Experts Group) format for compressed image data. This format displays compressed (lossy) images with photographic quality (millions of colors). JPEG should be used for photographic images and gradients only, not for images with hard edges and solid areas of color. Animation and transparency are not supported. image/png EXTENSIONS: DESCRIPTION: .png The Portable Network Graphics (PNG) format, for representing image data. This format displays compressed (lossless) images. Images can be transparent or include animation. A variety of bit depths are supported, up to millions of colors. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Image and Video Formats 163 OTHER FORMATS application/x-javascript EXTENSIONS: DESCRIPTION: VARIATIONS: .js, .mocha JavaScript code. TV Navigator currently identifies JavaScript code in files with the extension .wnj as the “application/x-dtv-script” type. In practice, there is no difference between this type and “application/x-javascript”. This redundancy simply lets you distinguish one sort of JavaScript file from another. For example, you could mark files that use the Liberate extensions with the .wnj extension and reserve .js for more generic files. Not available in TV Navigator Compact. application/x-shockwave-flash EXTENSIONS: DESCRIPTION: VARIATIONS: .swf The data format for Macromedia Flash movies. Not available in TV Navigator Compact. In TV Navigator Standard, availability is at the discretion of the service provider. Chapter 8, “Playing Flash Movies” SEE ALSO: 164 Other Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 Protocols CHAPTERS 6 This chapter lists the protocol names that can appear in URLs understood by TV Navigator. Standard protocols are listed here, but are not described in any detail. The protocols that are peculiar to the TV environment—tv: and mcast:—are discussed more fully. PROTOCOLS FOR TV AND BROADCAST tv: SYNOPSIS: DESCRIPTION: tv:[channel][#src=(left,top,width,height)] Places television in a Web page and optionally specifies two things: the source of video input (the channel) and the part of the television picture to be displayed (a rectangle defined by the left, top, width, and height parameters). In general, the tv: protocol can be used anywhere that a URL can specify image data. Specifically, it can set the SRC attribute of an IMG or FRAME element and the BACKGROUND attribute of a handful of other elements: It can also be the destination of a link: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 165 In JavaScript, it can be used in comparable places: document.myImage.src = "tv:"; window.location = "tv:"; window.open(“tv:”, . . .); document.myTable.rows[0].cells[0].background = "tv:"; Tuning. If a channel ID immediately follows the protocol name, TV Navigator will, if possible, tune to the specified channel. For example: window.location = "tv:5"; Channel IDs are strings, so “12” is not the same as “0x0C”, and “5” is not the same as “05” or “005”. The string that follows tv: must exactly match the id property of a TvChannel object. In theory, you can also specify the video source by channel name, "tv:cnn", "tv:kron" or by a network name, "tv:abc", "tv:fox" provided that information is available that would permit the system to map those names to channel IDs. Channel and network names are case-insensitive. If an ID or name is omitted, tv: adds video to the page, but retains the current tuning. Note: In the current release, channel IDs are supported, but channel and network names are not. Scaling the picture. By default, a tv: URL places the full television picture on the page and scales it to fit the container (the window, frame, image, or table cell to which it’s assigned). In the following example, the TV picture would be scaled to fit the width and height specified for the image, and viewers would see a miniature, 180 × 135 version of full-screen TV: Some set-top boxes are capable of scaling the picture only to certain sizes—such as 1/4, 1/3, 1/2, 2/3, and 3/4 full size. Selecting part of the picture. It’s not necessary to display the entire television picture contained in the incoming video signal. The tv: URL can 166 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 select just a section of it to display. The section is defined by a rectangle using a coordinate system that has coordinate units equal to pixels and the origin at the upper left corner of the full picture. The rectangle is measured against the dimensions of the full picture as defined for the video format. It’s located by its left and top edges and its width and height, in the following format: #src=(left,top,width,height) For example, the following code selects a central section of the picture to display. Assuming the incoming television signal carries video that’s 640 pixels wide and 480 pixels high (the NTSC format), it trims 90 pixels from the top and bottom of the picture and 70 pixels from the left and right sides: The specified 500 × 300 section of the TV picture is scaled to fit the container where it’s placed. If, in this example, the image container was the same size as the source rectangle, scaling would not be necessary: However, if the container is smaller, the 500 × 300 source picture would be scaled smaller. In the following code, its dimensions are cut in half, to 250 × 150: Similarly, if the container is bigger than the source rectangle, the picture is scaled larger: Just as some set-top boxes are limited to certain sizes or fractions when scaling smaller, they may also be limited when scaling larger. In the examples just shown, the dimensions of the source rectangle are stated in pixel units. They can also be defined as percentages of the screen size for the video format: If the screen is 720 pixels wide and 576 pixels high (typical of the PAL format), these percentages would translate to pixels as follows: If the screen is 640 × 480 (typical of NTSC), they would translate to different pixel values: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 167 Only integers should be used as percentages (no floating-point numbers). It’s best not to mix percentages with pixels in the same specification. Picking a container. The tv: protocol is the only way to put TV in a document. If there’s just one source of TV input (one TvTuner object), there’s just one TV resource to allocate. It can therefore be specified only once for all documents, frames, and windows. If two or more URLs compete for the TV picture, TV Navigator uses the following ordered rules to determine which one prevails: 1. It prefers to put television in a visible window, rather than in one that’s currently invisible. See the Window.visible property for more information. (Visibility is measured only by that property; if a window is on-screen but covered by other windows, it is still considered visible.) 2. If the competing windows are all equally visible, it prefers the window that’s closest to the front of the screen—the one with the greatest Window.layer value. See that property for more information. 3. If the URLs are in the same window or the competing windows have the same visibility and are assigned to the same layer, TV Navigator picks the URL that would put television in the largest container. Size is calculated by multiplying the container’s width by its height. If these three rules are not decisive, the container that draws first prevails. In this case, it’s not guaranteed that the same container would always draw first. For example, if a page had two equal tv: images, as in the following example, . . . one of the images might grab the TV picture when the page is displayed one time, and the other image another time. Note that as the visibility of windows changes dynamically, the TV picture might jump from one container to another. Containers that don’t get the TV picture, or lose it, are drawn in a solid color. AVAILABILITY: HISTORY: VARIATIONS: Channel and network names are not currently supported. The source rectangle was introduced in TV Navigator 1.2.6.1. Not yet available in TV Navigator Compact. Chapter 3 of the Content Developer’s Guide SEE ALSO: 168 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 mcast: SYNOPSIS:S DESCRIPTION: mcast://. . . A protocol for listening to Mediacast channels—data received through a oneway broadcast mechanism, including: • A stream of in-band MPEG data from a cable or satellite • Data encoded in the vertical blanking interval (VBI) of analog broadcasts • IP Multicast (IPM) data over an IP network An mcast: URL addresses all the data in a particular Mediacast channel— everything in a data carousel, for example, or in a stream of ticker data. Individual items in the stream may be addressed by their own URLs, possibly URLs with http: or another protocol name (but not mcast:). The mcast: URL maps logical names to particular data categories and sources. For example: Example URL mcast://news/headlines Data Yields a series of Web pages (a data carousel). Yields a single well-known page (also a data carousel). Yields a stream of data. mcast://favorites/contents.html mcast://ticker/stock mcast://tvinfo VARIATIONS: TV Navigator Compact does not support this protocol. goto: SYNOPSIS: goto:exit goto:tv Compact Platform provides this powerful custom protocol to reference metacontent. That is, the goto: links reference either a type of content or a browser action. Compact Platform recognizes the following types of goto: links: DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 169 • goto:exit - Closes the browser session. • goto:tv - Closes the browser session. AVAILABILITY: Available only in TV Navigator Compact. 170 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 STANDARD PROTOCOLS The TV Navigator application engine supports the standard protocols listed in this section. As noted in the next section, some other protocols are supported by specific Liberate applications. http: DESCRIPTION: Hypertext Transfer Protocol, the customary protocol for most Internet activity. https: DESCRIPTION: VARIATIONS: The secure version of the customary protocol. TV Navigator Compact does not support this protocol. javascript: DESCRIPTION: The protocol name that’s prefixed to embedded JavaScript code. When TV Navigator parses a javascript: URL, it executes the code, but does nothing with the resulting value. Typically, on computer-oriented browsers, if the last expression in the code inside a javascript: URL evaluates to a string (or to a type that can be converted to a string), the browser treats the string as if it was the document referred to by the URL. When the user follows the link in the following example, it would display the user agent string (since the last expression evaluates to what’s at the right of the assignment operator): VARIATIONS: TV Navigator Compact does not support this protocol. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Standard Protocols 171 UNSUPPORTED PROTOCOLS The following protocols are commonly used in Web application, but are not supported in TV Navigator, at least not directly, and don’t appear in the preceding lists: file: The protocol for specifying the path name of a file or other locally stored entity. Because TV Navigator is not currently available on set-top boxes that have hard disks and file systems, it does not support this protocol at the present time. Future versions will implement the file: protocol if the hardware supports a client file system. mailto: The protocol name for opening an e-mail application so the user can send mail to the specified recipient. Although the application engine for TV Navigator doesn’t recognize this protocol, the Liberate TV Mail™ application does. If TV Mail is installed for a user who selects a mailto: link, it will bring up a window where the user can compose a mail message. irc: The IRC (Internet Relay Chat) protocol for chat sessions. Although TV Navigator doesn’t support this protocol, Liberate TV Chat™ does. If TV Chat is installed for the current user and the user selects an irc: link, it attempts to contact the specified chat server and start the chat session. 172 Unsupported Protocols CHAPTER 6: PROTOCOLS JANUARY 2002 Playing Sounds CHAPTERS 7 Content created for TV Navigator Standard (not TV Navigator Compact) can associate sounds with a Web page in three ways: • As background sounds—played with the standard BGSOUND element. You can loop through the sound a specified number of times or have it played repeatedly. For example: • As linked sounds—played when the user follows a link to the sound file. The sound is played only once, when the file is loaded. For example: Kaboom!! • As embedded sounds—placed on the page with the standard EMBED element. For example: In all cases, sound data must be in one of the supported audio formats listed in Chapter 5, “Content Data Types.” Currently, TV Navigator can play embedded sounds only if they are declared to be user interface (UI) sounds—the various clicks, beeps, and swooshes that accompany user actions, such as when the user selects a radio button or presses a key. A Liberate–defined attribute, UISOUND, notifies TV Navigator that the sound is to be used in the user interface. Embedded sounds without this attribute are ignored. User-interface sounds are always hidden; they don’t have a visual presence on-screen and are not subject to user control. They’re played by calling the Embed object’s play() method, usually from a JavaScript event handler, as illustrated in the example on the next page. The example shows a user-interface sound that’s played when the user selects a button, from the button object’s onclick() handler. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 173 UI sound demonstration . . . . . . This example shows the EMBED element with six attributes: • The SRC attribute specifies the sound file (“click.wav”) and NAME gives it a name (“sound1”). The script then uses the name to identify the embedded sound as a property of the Document object. It defines a playClick() function that calls the sound’s play() method; the onclick() handler calls playClick() when the user invokes the button. • The HEIGHT and WIDTH attributes are required for compatibility with other browsers, but their values are ignored. • The LOOP attribute specifies that the sound will be played four times when play() is called. • The UISOUND attribute is required for TV Navigator to recognize the sound. The standard HIDDEN attribute is not specified, but is assumed. Other attributes of the EMBED element are not supported. Because UI sounds are played immediately in response to a user action, there’s not enough time to stream them in over the network. This means that they stay resident in RAM, taking up valuable resources. Be aware of the space that UI sounds consume, and keep them small. 174 CHAPTER 7: PLAYING SOUNDS JANUARY 2002 Playing Flash Movies CHAPTERS 8 TV Navigator Standard can play Macromedia Flash™ movies created in the Flash 4.0 SWF format. This support was added in the 1.3 and above releases of TV Navigator; it’s not available in the 1.1 versions of TV Navigator and may be present in some deployments of 1.2. You can load a Flash movie into a window or frame by making it the subject of a link: See a demonstration. Or, you can assign it as the source document of a frame: However, movies are typically placed on a page using the EMBED element. For example, the following HTML fragment places a Flash movie (skiing.swf) in a container that’s 200 pixels wide and 100 pixels high: This fragment shows the EMBED element with a set of commonly used attributes. A source file (the src attribute) must be specified. The WIDTH and HEIGHT of the display area, while not required, are recommended for efficient page translation. The NAME attribute is required only if the movie will be manipulated in JavaScript. For information on using JavaScript with Flash movies, refer to the Content Developer’s Reference. The rest of this chapter presents the EMBED element for Flash movies, and its unique attributes. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 175 USAGE: ATTRIBUTES: s1 optional c3 no ... base="URL" bgcolor=["#RRGGBB" | "transparent"] highlightable=["true" | "false"] loop=["true" | "false"] name="movie" play=["true" | "false"] pluginspage="http://www.macromedia.com/shockwave/download" quality=["high" | "low" | "autohigh" | "autolow" | "best"] salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] scale=["showall" | "noborder" | "exactfit"] src="URL" ui width=["percent" | "pixels"] ; height=["percent" | "pixels"] Attributes This section describes the common attributes of the EMBED element only when it’s used to embed a Flash movie. If attributes other than those listed are included in the tag, TV Navigator ignores them. If you don’t specify a value for an optional attribute, TV Navigator uses the default value. base SYNOPSIS: DESCRIPTION: base="URL" The base URL used to resolve relative path statements in the Flash movie. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["#RRGGBB" | "transparent"] The background color of the movie. This attribute overrides the background color setting in the Flash file. It takes a hexadecimal red-green-blue color specification (#RRGGBB) or the special color name “transparent” for a 176 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 transparent background. Other color names are not supported. For example, an indigo background would be specified as follows: height see width highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] Determines whether or not the user can select elements within the movie— “true” if it’s possible and “false” if not. The default is “true”. loop SYNOPSIS: DESCRIPTION: loop=["true" | "false"] Whether or not to repeat the movie indefinitely—“true” if it should begin playing again at the first frame whenever it reaches the final frame, and “false” if it should stop on the final frame. The default value is “true”. name SYNOPSIS: DESCRIPTION: name="movie" A name that can be used to refer to the movie in JavaScript. For example: This assignment would allow a script to find the corresponding Embed object as follows: If there’s more than one EMBED element on the page, be sure to use a unique name for each one. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 177 play SYNOPSIS: DESCRIPTION: play=["true" | "false"] Whether or not the movie will play automatically when it’s loaded—“true” if it should play automatically and “false” if not. The default is “true”. If you set this attribute to “false” to prevent the movie from playing automatically, you must use a JavaScript method to begin the movie animation. pluginspage SYNOPSIS: DESCRIPTION: pluginspage="http://www.macromedia.com/shockwave/download" The PLUGINSPAGE attribute tells the browser where to find the Flash plug-in if it is not detected. TV Navigator ignores this attribute because Flash capability is built into the TV Navigator application engine. However, if your movie will be shown on other browsers, you should use this attribute. quality SYNOPSIS: DESCRIPTION: quality=["high" | "low" | "autohigh" | "autolow" | "best"] The level of anti-aliasing in the movie. salign SYNOPSIS: DESCRIPTION: salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] Specifies how the movie is to be aligned when it’s resized using the SCALE attribute. The default behavior centers the movie in the specified area, and crops the edges if the movie does not fit. The SALIGN attribute is ignored if it is used without a corresponding SCALE attribute. The values position the movie along one edge or two adjacent edges of the containing rectangle, and crop it if necessary. The values are “L” (left), “R” (right), “T” (top), “B” (bottom), “TL” (top and left), “TR” (top and right), “BL” (bottom and left), and “BR” (bottom and right). 178 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 scale SYNOPSIS: DESCRIPTION: scale=["showall" | "noborder" | "exactfit"] Specifies how the movie should be scaled to its container. This attribute applies only when the WIDTH and HEIGHT specified are different from the movie’s original size. The values behave as follows: showall Makes the entire movie visible in the available area, while maintaining the aspect ratio. Borders may appear on two sides of the movie. This is the default setting. The effect is similar to a wide-screen film shown on a TV screen in letterbox format; a black border is shown above and below the film. noborder Shows as much of the movie as possible in the available area, while maintaining the aspect ratio. Parts of the movie that do not fit in the available area are cropped. The effect is similar to watching a wide-screen film that has been cropped on the sides (“panned and scanned”) to fit the narrower width of a TV screen. exactfit Forces the movie to fit the entire visible area. Aspect ratio will not be maintained, and distortion will occur. src SYNOPSIS: DESCRIPTION: src="URL" The source file for the movie. The URL can be relative or absolute. For example: Although most of the other attributes are optional, this one is obligatory. Your must specify a source. ui SYNOPSIS: DESCRIPTION: ui This attribute has no value. It’s a Boolean that’s either present or absent. Its presence indicates that the movie plays a role in the user interface. TV JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 179 Navigator takes this fact into account when it needs to reclaim memory to make room for new data. It tries to free other things, including other Flash movies, before getting rid of a movie marked with this attribute. width, height SYNOPSIS: width=["percent" | "pixels"] height=["percent" | "pixels"] These attributes specify a size for the movie; they override the size set in the Flash file. When set as a percent, they define the size of the movie in relation to the available screen area. When set as pixels, they define an absolute width and height. As such, they’re interpreted similarly to the WIDTH and HEIGHT attributes of the TABLE element. For example: DESCRIPTION: If only one of these attributes is specified, TV Navigator will attempt to maintain the aspect ratio of the movie. Although WIDTH and HEIGHT are optional, these attributes should be used whenever possible to improve transcoding performance. SEE ALSO: SCALE, SALIGN 180 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 Character Sets BASIC HTML CHARACTER ENTITIES CHAPTERS 9 TV Navigator supports a basic set of HTML character entities. Use these codes to display special characters in HTML documents. For example, each of the following lines of HTML displays the British “pound” character: £ £ The following table lists entities in order by numeric code equivalent, and provides the following information: • The first four columns (“Version”) indicate which version of TV Navigator supports the entity. For version notation, refer to Chapter 1, “Introduction.” • The “In Use” column shows how the character looks in TV Navigator (approximate). • The “Entity” and “Code” columns shows the literal strings to use in HTML to display the character. Generally, you can use either the entity or the code. • The “Description” column provides a brief description of the character. Version s1 c3 y y y y y y y y y y In Use Entity Code ¡ ¢ £ ¤ Description no-break space inverted exclamation point cent sign pound sign currency sign ¡ ¢ £ ¤ ¡ ¢ £ ¤ JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 181 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Code ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Description yen sign broken bar section sign diaeresis copyright sign feminine ordinal indicator left-pointing double angle quote not sign soft hyphen registered sign macron degree sign plus-minus sign superscript two superscript three acute accent micro sign pilcrow (paragraph sign) middle dot cedilla superscript one masculine ordinal indicator right-pointing double angle quote vulgar fraction one quarter vulgar fraction one half vulgar fraction three quarters inverted question mark cap A with grave cap A with acute 182 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Code Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Description cap A with circumflex cap A with tilde cap A with diaeresis cap A with ring above cap AE cap C with cedilla cap E with grave cap E with acute cap E with circumflex cap E with diaeresis cap I with grave cap I with acute cap I with circumflex cap I with diaeresis cap ETH cap N with tilde cap O with grave cap O with acute cap O with circumflex cap O with tilde cap O with diaeresis multiplication sign cap O with stroke cap U with grave cap U with acute cap U with circumflex cap U with diaeresis cap Y with acute cap THORN JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 183 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Code ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Description small sharp s small a with grave small a with acute small a with circumflex small a with tilde small a with diaeresis small a with ring above small ae small c with cedilla small e with grave small e with acute small e with circumflex small e with diaeresis small i with grave small i with acute small i with circumflex small i with diaeresis small eth small n with tilde small o with grave small o with acute small o with circumflex small o with tilde small o with diaeresis division sign small o with stroke small u with grave small u with acute small u with circumflex 184 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y In Use Entity ü ý þ ÿ ü ý þ ÿ Code ü ý þ ÿ Description small u with diaeresis small y with acute small thorn small y with diaeresis JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 185 186 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 INDEX A A element audio/x-wav 162 8–14 ABBR element 12 ACRONYM element 12 ACTION attribute FORM element 46 ADDRESS element 12 ALIGN attribute APPLET element 14 CAPTION element 32 DIV element 37 H1-H6 elements 56 HR element 58 IMG element 61 P element 100 SELECT element 109 SPACER element 113 TABLE element 122 TD,TH elements 130 TR element 141 ALINK attribute BODY element 26 ALT attribute APPLET element 14 AREA element 17 IMG element 62 APPLET element 13–15 application/x-dtv-script 164 application/x-javascript 164 application/x-shockwave-flash 164 ARCHIVE attribute APPLET element 14 AREA element 16–19 audio/aiff 161 audio/basic 161 audio/wav 162 audio/x-aiff 161 B B element 20 26 BACKGROUND attribute BODY element 53 109 TABLE element 122 TD,TH elements 130 background sounds 173 BASE attribute Flash movies 176 BASE element 20–21 BASEFONT element 21–22 BEHAVIOR attribute TD,TH elements 131 BGCOLOR attribute BODY element 26 Flash movies 176 SELECT element 109 TABLE element 122 TD,TH elements 132 TEXTAREA element 138 TR element 141 BGSOUND element 22–23, 173 BIG element 23 BLINK element 24 BLOCKQUOTE element 24 BODY element 25–31 BORDER attribute FRAMESET element 53 IMG element 63 TABLE element 122 BORDERCOLOR attribute FRAME element 49 FRAMESET element 53 BR element 31 SELECT element FRAMESET element JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 187 broadcast 93 broadcast streams 169 DIR element 36 131 DIRECTION attribute TD,TH elements DISABLED attribute C CAPTION element TABLE element TABLE element CENTER element CHARSET attribute LINK element CITE attribute BLOCKQUOTE element CITE element CLEAR attribute BR element CODE attribute 32–33 122 CELLPADDING attribute CELLSPACING attribute 122 33 83 24 34 31 99 109 TEXTAREA element 139 DIV element 37–38 DL element 39 DOWN attribute A element 10 AREA element 19 DT element 39 DYNAMICCOLS attribute TABLE element 124 SELECT element OPTION element E EM element 40 40 47 14 CODE element 34–35 CODEBASE attribute APPLET element 14 COLOR attribute BASEFONT element 22 FONT element 43 COLS attribute FRAMESET element 54 TABLE element 124 TEXTAREA element 139 COLSPAN attribute TD,TH elements 132 COMPACT attribute DIR element 36 DL element 39 MENU element 85 OL element 97 UL element 145 CONTENT attribute META element 87 COORDS attribute AREA element 18 APPLET element EMBED element ENCTYPE attribute FORM element F FACE attribute BASE element FONT element 22 43 Flash movies 175 FOCUSABLE attribute TD,TH elements 133 TEXTAREA element 139 FONT element 40–44 FORM element 44–48 FRAME attribute TABLE element 125 FRAME element 48–50 FRAMEBORDER attribute FRAME element 49 FRAMESET element 53 FRAMESET element 51–55 G goto: protocol 169 D DD element 35 DFN element 36 H H1-H6 elements 56–57 188 INDEX JANUARY 2002 HEAD element 57 K KBD element HEIGHT attribute 80 15 Flash movies 180 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 HIGHLIGHTABLE attribute A element 9 Flash movies 177 TABLE element 126 TD,TH elements 134 HISTORY attribute META element 87 HR attribute SIZE element 58 HR element 57–58 HREF attribute A element 10 AREA element 18 BASE element 21 LINK element 83 HSPACE attribute APPLET element 15 IMG element 63 TABLE element 126 HTML element 59 HTTP-EQUIV attribute META element 87 APPLET element L LANGUAGE attribute SCRIPT element LAYER attribute BODY element DIV element 105 27 37 H1-H6 elements 57 IMG element 64 P element 100 TABLE element 127 LAYER element 80 LEFT attribute A element 10 AREA element 19 LI element 81–82 LINK attribute BODY element 27 LINK element 82–84 linked sounds 173 LISTING element 84 LOOP attribute BGSOUND element 23 embedded sounds 174 Flash movies 177 TD,TH elements 131 LOWSRC attribute IMG element 65 I 59 I-frames 26, 27, 37, 64, 80, 100, 127 image/gif 163 image/jpeg 163 image/png 163 IMG element 60–66 INITIALFOCUS attribute META element 91 INPUT element 67–78 ISINDEX element 78–79 ISMAP attribute IMG element 64 I element M Macromedia Flash 175 MAP element 84 MARGINHEIGHT attribute FRAME element 49 MARGINWIDTH attribute FRAME element 49 mcast: protocol 169 Mediacast 169 MENU element 85 META element 86–93 METHOD attribute FORM element 47 MULTIPLE attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 189 SELECT element 109 POPUPBG attribute SELECT element 110 N NAME attribute POPUPDIRECTION attribute A element 11 APPLET element 15 AREA element 19 Flash movies 177 FORM element 48 FRAME element 49 IMG element 65 MAP element 85 META element 92 PARAM element 101 SELECT element 110 TABLE element 127 TEXTAREA element 139 NOBR element 93 NOFRAMES element 95 NOHREF attribute AREA element 18 NORESIZE attribute FRAME element 50 NOSCRIPT element 95 NOSHADE attribute HR element 58 NOWRAP attribute TD,TH elements 135 110 102–103 PROMPT attribute ISINDEX element 79 protocols goto: 169 http: 171 https: 171 javascript: 171 mcast: 169 tv: 165 PRE element SELECT element Q QUALITY attribute Flash movies 178 R refresh, automatic 90 REL attribute A element 11 LINK element 83 REV attribute A element 11 LINK element 83 RIGHT attribute A element 10 AREA element 19 ROWS attribute TEXTAREA element 140 ROWSPAN attribute TD,TH elements 135 RULES attribute TABLE element 128 O OL element 96–98 98–99 OVERSCAN attribute BODY element 27 FRAMESET element 55 OPTION element P P element 99–100 101 P-frames 64, 127 PLAINTEXT element 102 PLAY attribute Flash movies 178 PLUGINSPAGE attribute Flash movies 178 PARAM element S S element 103 SALIGN attribute Flash movies 178 103 SCALE attribute Flash movies 179 SCHEME attribute SAMP element 190 INDEX JANUARY 2002 93 104–105 SCROLLAMOUNT attribute TD,TH elements 131 SCROLLDELAY attribute TD,TH elements 131 SCROLLING attribute FRAME element 50 SCROLLSTOP element 105 SELBGCOLOR attribute SELECT element 111 SELECT element 106–111 SELECTED attribute OPTION element 99 SELTEXT attribute SELECT element 111 SHAPE attribute AREA element 19 SIZE attribute BASE element 22 FONT element 44 SELECT element 111 SPACER element 113 SMALL element 111 SPACER element 112–113 SRC attribute BGSOUND element 23 Flash movies 179 FRAME element 50 IMG element 65 SCRIPT element 105 START attribute OL element 97 STRIKE element 114 STRONG element 114 STYLE attribute DIV element 38 SUB element 115 SUP element 115 SCRIPT element META element A element 11 19 21 FORM element 48 TD,TH elements 129–136 TEXT attribute BODY element 30 SELECT element 111 TEXTAREA element 137–140 text/html 160 text/plain 160 TITLE element 140 TR element 141–142 TT element 142 tv: protocol 165 TYPE attribute LI element 81 LINK element 84 OL element 98 SPACER element 113 UL element 145 BASE element AREA element U U element UI attribute 143 Flash movies 179 UI sound 173 UL element 143–145 UP attribute A element 10 AREA element 19 USEMAP attribute IMG element 66 user interface sound 173 V VALIGN attribute TD,TH elements VALUE attribute LI element TEXTAREA element 136 142 T TABLE element 82 99 101 116–128 94 OPTION element PARAM element VAR element tables resizing images TARGET attribute 145 VLINK attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 191 BODY element VSPACE attribute 31 APPLET element IMG element 15 66 TABLE element 126 W WBR element 146 WIDTH attribute 15 Flash movies 180 HR element 58 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 WRAP attribute PRE element 103 TEXTAREA element 140 APPLET element X XMP element 146 192 INDEX JANUARY 2002 California Member-Managed LLC Operating Agreement$19.95 Acknowledgment of Independent Contractor$8.95 Artist-Agent Engagement Agreement$8.95 Website Design Non-Disclosure$14.95 Employee Handbook for Company$39.95 Limited Liability Partnership Agreement$29.95 Office Lease Agreement$8.95 Other docs by Alex Cameron Using Eq Views: 118 | Downloads: 6 The Sectret of the mastering engineer Views: 128 | Downloads: 8 Recording Real Drums Views: 112 | Downloads: 9 Recording Lead Vocals Views: 141 | Downloads: 6 Recording in One Room Views: 105 | Downloads: 9 Recording Bass Guitar Views: 133 | Downloads: 8 Recording Acoustic Guitar Views: 113 | Downloads: 5 Practical Mixing Views: 80 | Downloads: 1 MediaFinance94 Views: 165 | Downloads: 2 iTV is dead_ Long live IPTV - Broadcast Engineering-Digital TX Limited _www.digitaltx.tv_ Views: 77 | Downloads: 1 IPTV-VoD.The.World.Thats.On.Its.Way-Digital.TX.Limited._www.digitaltx.tv_ Views: 63 | Downloads: 2 IPTV-VoD.The.Hare.And.The.Tortoise-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 79 | Downloads: 0 IPTV-VoD.The.Fall.Of.Contents.Kingdom-Digital.TX.Limited._www.digitaltx.tv_ Views: 48 | Downloads: 1 IPTV-VoD.Fast.Forward.To.Christmas.Future-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 58 | Downloads: 1 IPTV-VoD.Bursting.The.PPV.Bubble-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 62 | Downloads: 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Overview . . . Variations . Attributes . . . name . . value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 101 101 101 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Overview . . . Variations . Attributes . . . wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 103 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 language="Javascript" src="URL" Overview Use the SCRIPT element as a container for coded scripts. TV Navigator Standard is the only version that support scripting, and it supports only the JavaScript language. Multiple script elements can appear in a document, and/or the script can be located in an external document that is linked via the SRC attribute. For example: ... If you insert a script inside a framesetting document (refer to the FRAMESET element), the functions defined by the script are available to all of the subdocuments defined by the contained FRAME elements. Variations The SCRIPT element is only supported in TV Navigator Standard 1.x. 104 USAGE: ATTRIBUTES: s1 yes c3 no none Marks targets for scrolling. By default, a document scrolls in frame-sized chunks, but the SCROLLSTOP element can be used to split it into smaller pieces. Each time the user scrolls up or down, another successive portion of the document is brought into view. Scrolling stops when either one of the following occurs: • One or two lines that used to be at the top of the viewing frame are at the bottom, or one or two lines that used to be at the bottom of the frame are at the top. • The contents of the document immediately following a SCROLLSTOP element are flush with the top of the viewing frame. For example, SCROLLSTOP could be inserted before each TR element in a table so that the table would scroll one row at a time. Note that scrolling never skips over any of the document. The SCROLLSTOP tag cannot be used to force scrolling in chunks larger than the frame where the document is displayed. Variations The SCROLLSTOP element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 105 USAGE: ATTRIBUTES: s1 yes c3 no ... align="position" background="url" bgcolor="color" disabled multiple name="string" popupbg="url" popupdirection=["up" | "down" | "auto"] selbgcolor="color" seltext="color" size="rows" text="color" onblur="JavaScript" onfocus="JavaScript" onchange="JavaScript" EVENT HANDLERS: Overview The SELECT element creates a pop-up menu of OPTION elements. The OPTION elements are nested inside the opening and closing tags of SELECT. SELECT appears inside the FORM element, and its NAME attribute is part of the name-value pair submitted with the form. The submitted value comes from the VALUE attribute of the selected OPTION element. For example: Color: <Select One> Red Orange Yellow Green In TV Navigator, this example would look like Figure 20: 106 CHAPTER 2: HTML REFERENCE JANUARY 2002 Before Focus During Focus Figure 20: SELECT Element in TV Navigator, Default Attributes When the SELECT element allows users to select more than one option (the MULTIPLE attribute is set) or if it displays more than one option (the SIZE attribute is set to a value greater than 1), there is no pop-up. The SELECT element displays all the options, scrolling them if necessary. TV Navigator Enhancements The TEXT, BGCOLOR, and BACKGROUND attributes affect both the SELECT element itself and its popup list, if there is one. The TEXT, BGCOLOR, and BACKGROUND attributes work just like their counterparts for the BODY element: • The TEXT attribute specifies the color used to draw OPTION element text. It applies to all text in the SELECT display and the pop-up list. If not set, the color defaults to black. • The BGCOLOR attribute specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be “transparent”. If a background color isn’t set, it defaults to light grey. • The BACKGROUND attribute can be set to a URL for an image to display in the background of the SELECT element. It applies only to that element, not the pop-up list. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. In both cases, the image is tiled to fill the entire area displayed and cropped to fit. The height of the SELECT element is determined by the SIZE attribute, which defaults to 1. The height of the pop-up list is determined by the number of options. A maximum of six items are displayed; if there are over six items, the list scrolls. The widths of both the element and its pop-up list are determined by the width of the widest option (the widest text string). If a background color (BGCOLOR) and a background image (BACKGROUND or POPUPBG) are both set, the color is drawn first and the image is placed on top, so that transparency in the image lets the background color show through. For example, this HTML code would show the background color in the SELECT display and an image, possibly against that color, in the pop-up list: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 107 The SELTEXT and SELBGCOLOR attributes are similar to TEXT and BGCOLOR, except that they specify the colors used to highlight an option when it’s selected: • The SELTEXT attribute sets the color used to display the text of a selected option. The default color is white. • The SELBGCOLOR attribute specifies a background color for the selected option. It defaults to a dark grey. This example is a modification of the SELECT element from the previous example: ... <Select Two> ... The result is a selection list (not a pop-up menu) with multiple selections and a green background for the selected items, as shown in Figure 21: Before Focus During Focus Figure 21: SELECT Element in TV Navigator, Advanced Attributes Variations • The SELECT element is not supported in TV Navigator Compact. • The POPUPDIRECTION attribute of the select element is only supported by TV Navigator Standard 1.2.7.3 and above. It is not supported by 1.3 or 1.5. 108 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of the SELECT element in relation to its surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. For example: background SYNOPSIS: DESCRIPTION: background="URL" Sets the URL for an image to display in the background of the SELECT element. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be "transparent". If a background color isn’t set, it defaults to light grey. disabled SYNOPSIS: DESCRIPTION: disabled Disables the SELECT element, and prevents it from receiving focus. multiple SYNOPSIS: DESCRIPTION: multiple If the MULTIPLE attribute is set, TV Navigator renders the SELECT element as a list box instead of a pop-up list. If necessary, TV Navigator will scroll the list to display all options. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 109 name SYNOPSIS: DESCRIPTION: name="string" Sets the name portion of the name-value pair submitted with the FORM data. popupbg SYNOPSIS: DESCRIPTION: popupbg="url" Places a background image in a SELECT pop-up list. popupdirection SYNOPSIS: DESCRIPTION: popupdirection=["up" | "down" | "auto"] TV Navigator uses a fixed algorithm to determine the pop-up direction of a SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. An additional attribute of the SELECT element specifies the preferred drawing direction of the pop-up. The POPUPDIRECTION attribute supports the following values: up The pop-up is drawn upwards from the SELECT element, if there is enough space to do so. down The pop-up is drawn downwards from the SELECT element, if there is enough space to do so. auto This is the default behavior of the SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. AVAILABILITY: Introduced in TV Navigator Standard 1.2.7.3. Not available in TV Navigator 1.3 or TV Navigator 1.5. 110 CHAPTER 2: HTML REFERENCE JANUARY 2002 selbgcolor SYNOPSIS: DESCRIPTION: selbgcolor="color" Specifies the color to use as a background for selected options. The default value is a dark grey. seltext SYNOPSIS: DESCRIPTION: seltext="color" Specifies the color of the text for selected options. The default value is black. size SYNOPSIS: DESCRIPTION: size="rows" Sets the number of rows to display. If SIZE is set to greater than 1, the SELECT element changes from a pop-up menu to a list box. text SYNOPSIS: DESCRIPTION: text="color" Specifies the color used to draw the OPTION element text. It applies to all text in the SELECT element and the pop-up list. If TEXT is not set, the color defaults to black. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The SMALL element decreases the size of the enclosed text by moving down one value in the 1-7 scale. SMALL elements can be nested for a cumulative effect. For more information on font sizing, refer to the SIZE attribute of the FONT element. For example: This is normal text.This is one size smaller. This is normal text again. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 111 USAGE: ATTRIBUTES: s1 yes c3 no align="position" height="pixels"; width="pixels" size="pixels" type=["block" | "horizontal" | "vertical"] Overview The SPACER element creates a block of background-colored (invisible) space that can help position elements on the page. The TYPE attribute lets you define three kinds of spacers: • type="block". This is a rectangular spacer that moves subsequent elements vertically and horizontally. • type="horizontal". This spacer adds a block of horizontal space on the same line of text. • type="vertical". This spacer adds a block of vertical space between lines of text. Figure 22 shows a block of text containing the three spacer types (spacers are shown colored and outlined for illustrative purposes). Figure 22: SPACER Elements in TV Navigator Standard 112 CHAPTER 2: HTML REFERENCE JANUARY 2002 Variations The SPACER element is not supported in TV Navigator Compact. Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of block-type SPACER elements in relation to surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. height, width SYNOPSIS: height="pixels" width="pixels" The HEIGHT and WIDTH attributes control the size of type="block" SPACER elements. TV Navigator may find it necessary to alter the size of SPACER elements to make content fit. For more information, refer to the NOBR element. DESCRIPTION: size SYNOPSIS: DESCRIPTION: size="pixels" The SIZE attribute sets the width of type="vertical" SPACER elements and the height of type="vertical" spacer elements. type SYNOPSIS: DESCRIPTION: type=["block" | "horizontal" | "vertical"] Sets the behavior of the SPACER element. If you set type="block", you must specify both HEIGHT and WIDTH attributes. If you set type="horizontal" or type="vertical", you must specify the SIZE attribute. There is no default setting. For example: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 113 USAGE: ATTRIBUTES: s1 yes c3 no ... ... none The STRIKE element renders all text contained between the opening and closing tags with a strikethrough line. It is identical to the S element. For example: Tonight’s menu features ginger-pineapple cous-cous served on a bed of organic wilted dandelions. Variations The S and STRIKE elements are not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The STRONG element renders all text contained between the opening and closing tags as bold. It is similar to the EM element. For example: The rain in Spain falls mainly on the plains. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 114 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUB element renders all text contained between the opening and closing tags as subscript. Variations The SUB element is not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUP element renders all text contained between the opening and closing tags as superscript. Variations The SUB element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 115 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] background="URL" bgcolor="color" border="pixels" cellpadding="pixels" cellspacing="pixels" cols="number" dynamiccols="number" frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] height=["pixels" | "percent"]; width=["pixels" | "percent"] highlightable hspace="pixels"; vspace="pixels" layer=["background" | "middle" | "foreground"] name="string" rules=["all" | "cols" | "groups" | "none" | "rows"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview Tables allow you to arrange data into rows and columns of cells, and also perform basic layout tasks. Table cells in TV Navigator can hold any content that a BODY element can hold: text, images, forms, and even the television picture. TV Navigator Standard (all versions) also supports dynamic tables—tables the user can navigate, and that JavaScript can modify at run time. Dynamic table cells, however, are limited to plain text. No images, hypertext links, embedded tables, or other HTML elements are allowed. For more information, refer to “Dynamic Tables” on page 120. 116 CHAPTER 2: HTML REFERENCE JANUARY 2002 Table Structure The structure of a table is highly specific. At minimum, a TABLE element holds a set of TR row elements, which in turn hold a set of TD cell elements. Optionally, the TABLE element can also include a row of TH heading cells and/or a CAPTION. For example, the following code creates a table like the one shown in Figure 23: This is the caption Head 1Head 2Head 3 cell 1cell 2cell 3 cell 4merged cells cell 7cell 8cell 9 default border is 2 pixels wide Figure 23: Basic Table Structure Note that end tags are not required for any of the table subelements. Row elements terminate automatically at the start of another row element, and cell elements terminate at the start of another cell or a row element. Table Position and Size The position of a TABLE element on the page is determined by the ALIGN, HSPACE, and VSPACE attributes. If these attributes are not specified, the table assumes the position a paragraph element would have in the same spot in the document. Figure 24 shows how the HSPACE and VSPACE attributes affect spacing from adjacent page elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 117 Paragraph element above... vspace cell 1 hspace cell 4 cell 2 cellspacing cellpadding cell 3 cell body cell margin merged cells table margin table caption vspace Paragraph element below... Figure 24: Table and Cell Positioning Several factors determine the size of the TABLE element and its subelements in TV Navigator: • First and foremost are the values of the HEIGHT and WIDTH attributes. You specify values for these in pixels (absolute size) or in a percentage of the visible container. The “container” can be the entire safe area of the screen, part of the screen defined by a FRAME element, or even another TD table cell. The values of height and width are taken as suggestions only— TV Navigator makes automatic adjustments to tables to ensure proper layout on the television screen. For more information, refer to the HEIGHT attribute of TABLE. • The number of rows in the table, and the number of cells in each row. Because horizontal scrolling is not allowed, TV Navigator will squeeze wide tables to fit in the allowable space. However, vertical scrolling is allowed, and long tables with many rows will be split into multiple screens. • The size of individual TD cell elements. TV Navigator establishes a minimum size for the cell—generally the smallest size possible while preserving legibility. The setting of the cell TD HEIGHT attribute can only increase the size of the cell; the height of the cell cannot be made smaller than the automatic minimum size. Cell size is also affected by the value of the TABLE CELLPADDING attribute (see Figure 24), which adds additional space between the cell body and the cell margin. • The value of the TABLE attribute CELLSPACING (see Figure 24), which inserts additional space between cell margins. The BORDER, CELLSPACING, and CELLPADDING attributes interact in TV Navigator. For more information, refer to the description of the BORDER attribute. 118 CHAPTER 2: HTML REFERENCE JANUARY 2002 Color Layering in Tables Color in TV Navigator tables works differently than you may expect. Tables, rows and cells are arranged in layers, each with a settable BGCOLOR attribute. By default, the BGCOLOR of all table components is transparent, allowing any color or image defined in a lower layer to show through to upper layers as shown in Figure 25. direction of transparency Figure 25: Layering of Background Colors in Tables Thus, if you set the table background color (for example, ), you cannot make a single TD cell transparent to the TV image in the BODY background. The only way to achieve this effect would be to leave the table transparent, and then set the BGCOLOR of each cell in the table explicitly. For more information about transparency, refer to “Transparent Backgrounds” on page 156. It is also possible to simultaneously set the background image and the background color for both tables and table cells. In the TV Navigator layering model, the TABLE BGCOLOR is in a layer above the BACKGROUND image for the table. If you set both TABLE BACKGROUND and BGCOLOR, you will see the background image peeking out from the spaces created by the CELLSPACING attribute. The opposite is true in table cells. When both TD (or TH) BGCOLOR and BACKGROUND are set, the background image for the cell appears in a layer above the background color. If the image in the cell is partially transparent, the background color for the cell will show through the transparent areas. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 119 HTML Error Correction According to strict HTML syntax, all table content must be placed inside TD or TH elements. If any content is outside these elements, but inside the TABLE element, TV Navigator automatically adds a TD element to contain the misplaced content. Variations TV Navigator Compact supports the nonstandard LAYER attribute, which determines the rendering level of the table and its contents. TV Navigator Compact does not support any dynamic table features. Dynamic Tables The information in this section applies only to the HTML aspects of dynamic tables. To fully explore the possibilities of dynamic tables you must use JavaScript. Refer to the Table object and Cell object descriptions Content Developer’s Reference (or the Liberate JavaScript Reference, when available). The following attribute descriptions in this reference also provide helpful information: • Dynamic table attributes: DYNAMICCOLS, HIGHLIGHTABLE, and NAME • Dynamic TD cell attributes: BEHAVIOR, FOCUSABLE, and HIGHLIGHTABLE Limitations on Content As it’s set up in HTML, a dynamic table is indistinguishable from any other table (except that it has a name). It can contain anything that any other table can—images, multiple fonts in one cell, and even other tables. However, the dynamic content that JavaScript can place in a table cell is limited to plain text. No images, forms, hypertext links, embedded tables, or other HTML elements are allowed. JavaScript can place new text in a cell, but the new text cannot contain any HTML tags. Even character entities (like and &") and elements that format the text (like TT and BR) are not permitted. At present, TV Navigator doesn’t have dynamic access to the static content of a cell (the content assigned in HTML), even if that content is plain text. For example, it can change the color of text that JavaScript puts in a cell, but it can’t modify the color of text assigned with the TD element. Similarly, JavaScript cannot scroll any text placed in cells when the table was set up 120 CHAPTER 2: HTML REFERENCE JANUARY 2002 in HTML. A cell’s static content is wiped away when the cell is first dynamically modified in any way. If you intend a table to be dynamic, you generally would not assign it images and other elements that would be very different from the contents it can display dynamically. It usually makes the most sense to simply lay out the table and assign font characteristics in HTML, but provide all the content through JavaScript. Even the initial content the user sees can be set dynamically, in an onload() handler. Font Attributes of Cells Because JavaScript disallows even HTML elements that format text (such as B and TT), it cannot modify the font used to display text in table cells. Each cell retains the font characteristics that it was assigned when it was set up in HTML. You can use any of the following elements to format content in a cell when you define the table: B BIG CITE CODE EM FONT I KBD S SAMP SMALL STRIKE STRONG TT U VAR However, these elements set cell formats only if they appear before the first character of text in the cell. For example, the following code sets up a row in a dynamic table: first second third . . . In this example, whatever text JavaScript places in these cells will adopt the specified font characteristics—bold in the first cell, plain text in the second, and both underlined and italic in the third. These attributes stay with the cell and cannot be changed. However, if the font elements appear after the first character, they format the static text that HTML puts in the table, but don’t affect any text subsequently written to the cell. The only font attribute that escapes this restriction is the color of the text. It can be modified at any time through JavaScript. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 121 Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] The ALIGN attribute sets the horizontal alignment of the table relative to its container (BODY element or TD/TH table cell). background SYNOPSIS: DESCRIPTION: background="URL" Allows you to specify an image to use as the background of the TABLE element. For example: TV Navigator positions the image in the upper left corner of the table and tiles the image to fill the space. The image is never scaled. If both BACKGROUND and BGCOLOR are set for the table, the background image appears below the apparent background color—the image only appears if the CELLSPACING attribute is large enough to separate the cells. The value of URL can also take the color: protocol, and when used that way it functions exactly like the BGCOLOR attribute. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color of the TABLE element. This is equivalent to setting the background color for all of the cells of the table. The value of color can be any valid color name or hexadecimal value. Also see the BACKGROUND attribute. border, cellpadding, cellspacing SYNOPSIS: border="pixels" cellpadding="pixels" cellspacing="pixels" The BORDER and CELLSPACING attributes of the TABLE element interact to some extent, due to TV Navigator’s policy of avoiding horizontal lines that are DESCRIPTION: 122 CHAPTER 2: HTML REFERENCE JANUARY 2002 1-pixel-wide whenever possible. The policy is aimed at reducing on-screen flicker. The BORDER attribute specifies grid lines around each cell, around the CAPTION if there is one, and around the entire table. For TV Navigator, these lines are either 1 pixel wide or they don’t exist. You have no control over border width. Add a border by giving the TABLE element a BORDER attribute without a value, or by using any value other than 0: Eliminate the border by removing the BORDER attribute or setting it to 0: The CELLSPACING attribute is the amount of space (in pixels) lying between the cells in a table, and between the edge of the table and the cells. The space is transparent, so it lets the background behind the table (not the table background) show through. If a table has a border, TV Navigator doesn’t display any space between cells, no matter what the CELLSPACING setting is. This forces the grid lines around adjacent cells (and around the caption and the whole table) to lie right next to each other, without any intervening space. The grid lines are 1 pixel wide, so the cell borders appear to be 2 pixels wide (1 pixel contributed by each cell). In effect, if you choose a bordered table, you’re choosing a 2-pixel-wide border with no space between the cells. If a table does not have a border, CELLSPACING can be set to any value, including 0. For the TV Navigator Standard, the default value is 2 pixels. However, in its attempt to avoid 1-pixel-wide lines, TV Navigator Standard doesn’t honor a CELLSPACING setting of 1. If cells could be separated by a single pixel, the separation might appear as a line 1 pixel wide. Imagine, for example, cells with a red background displayed over a green page. Thin green lines would separate the red cells. Therefore, if CELLSPACING is set to 1, TV Navigator increases the space to 2 pixels. The CELLPADDING attribute determines the width of the margin (in pixels) that separates the contents of a cell from the cell’s edge. Here, again, TV Navigator will not honor a setting of 1. If a 1-pixel margin is specified, 2 pixels are used. This prevents the margin from appearing as a 1-pixel-wide line when, for example, the cell has a background color and the content of the cell is a rectangular image. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 123 VARIATIONS: In TV Navigator Compact, the border does not render if the table is in the foreground layer of the page. cellpadding see border cellspacing see border cols SYNOPSIS: DESCRIPTION: cols="number" The intent of this attribute is to inform TV Navigator how many columns there are in the table. In a long table this may accelerate the layout time. If the table is dynamic (has the NAME attribute set), you must use the DYNAMICCOLS attribute instead. dynamiccols SYNOPSIS: DESCRIPTION: dynamiccols="number" TV Navigator ensures that each row in a dynamic table will have at least the DYNAMICCOLS number of TableCell objects. A row has one TableCell object for each TD or TH element assigned to the row in HTML, or the number of objects specified by DYNAMICCOLS, whichever is greater. The number of TableCells for the row is fixed when the table is set up; TV Navigator currently cannot produce new TableCell objects on the fly. This attribute therefore permits you to set up a dynamic table with cells spanning more than one column, like the one in Figure 26. For example: one plus two three one two plus three one two three 124 CHAPTER 2: HTML REFERENCE JANUARY 2002 one plus two one one two three three two plus three Figure 26: Spanning in a Dynamic Table When the column spans are reduced and more cells are needed in the first two rows, the TableCell objects will be available, because the TABLE element specified a minimum of three cells per row. The DYNAMICCOLS attribute has second purpose: It lets JavaScript know the minimum number of cells to scroll. If this attribute is not set, table scrolling will not work. Therefore, it should be set whether or not any cells span more than one column in the initial table. AVAILABILITY: Not available in TV Navigator Compact. frame SYNOPSIS: frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] The FRAME attribute determines which outside borders are drawn (see Figure 27). This attribute is planned for a future release of TV Navigator. default above below border box DESCRIPTION: hsides lhs rhs void vsides For clarity, inner borders are not shown, but are present by default. Figure 27: Behavior of the FRAME Attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 125 height, width SYNOPSIS: height=["pixels" | "percent"] width=["pixels" | "percent"] The WIDTH attribute of the TABLE element is taken only as a suggestion. TV Navigator usually respects it as a minimum, but may find it necessary to make the table wider or narrower, as follows: • Tables that are too wide for the screen are reduced in size so they fit, regardless of the WIDTH specified. • Because the default font size is larger for TV Navigator than for other browsers, it sometimes takes more space to display a table than the WIDTH specification allows. If necessary, the table is resized, ignoring the requested table width. If a table is located in a document, percentage specifications of its WIDTH and HEIGHT are relative to the frame that contains the document. However, if a table is embedded within another table, the percentages are relative to the size of the cell where it’s located. If the size of that cell isn’t explicitly given in HTML, the percent size of the inner table is completely ignored. Note that the table border (the BORDER attribute), the spacing between cells (the CELLSPACING attribute), and the padding within a cell (the CELLPADDING attribute) all take space from the specified WIDTH and HEIGHT. DESCRIPTION: highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set HIGHLIGHTABLE for all cells in the table. The settings for individual cells override the TABLE setting. For more information, refer to the TD HIGHLIGHTABLE attribute. Not available in TV Navigator Compact. AVAILABILITY: hspace, vspace SYNOPSIS: hspace="pixels" vspace="pixels" Use the HSPACE and VSPACE attributes to add a margin of empty (backgroundcolored) space between the table and adjacent content (see Figure 24). HSPACE DESCRIPTION: 126 CHAPTER 2: HTML REFERENCE JANUARY 2002 adds a margin to the left and right of the table; VSPACE does the same for the top and bottom of the table. layer SYNOPSIS: DESCRIPTION: layer=["background" | "middle" | "foreground"] Specifies the rendering layer for the TABLE element. Any setting for the table applies to all of its contents, except for nested tables, which may have a higher layer setting. background The table is rendered as part of the background to an MPEG I-frame. middle The contents of the TABLE element are sent to the set-top box as MPEG P-frames (images) and overlays (text). The P-frame is built from 16-pixel macroblocks that contain the image and any background pixels around the image if the image is not exactly aligned on 16-pixel boundaries (which is true for most cases). foreground If layer="foreground", the behavior is identical to layer="middle". Note that this behavior may change in futures versions of the client. If the BODY element is in the foreground, any contained TABLE elements must be in the foreground as well, and will be rendered as P-frames (for images) and overlays (for text) above the background I-frame. Care must be taken to avoid overlapping P-frames. Use the Compact Layout Tool to check for overlapping P-frames. If overlapping is detected, the content must be corrected accordingly. AVAILABILITY: Available in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute assigns a name to the JavaScript object for the table: This also signals that you want the table to have dynamic behavior. VARIATIONS: Previously, tables in TV Navigator Standard 1.x without NAME attributes were not dynamic. Now all tables in Standard 1.x are dynamic (excluding Standard JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 127 1.1). Tables in TV Navigator Compact are not dynamic, and do not support the NAME attribute. rules SYNOPSIS: DESCRIPTION: rules=["all" | "cols" | "groups" | "none" | "rows"] The RULES attribute determines which interior borders are drawn, as shown in Figure 28. This attribute is planned for a future release of TV Navigator. default all cols groups none rows Figure 28: Behavior of the RULES attribute vspace see hspace width see height 128 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... ... align=["center" | "char" | "justify" | "left" | "right"] background="URL" behavior=["scroll" | "slide" | "alternate"] bgcolor="color" colspan="number" direction=["left" | "right"] focusable=["true" | "false"] height="pixels"; width="pixels" highlightable=["true" | "false"] loop=["number" | "-1" | "infinite"] nowrap rowspan="number" scrollamount="pixels" scrolldelay="milliseconds" valign=["bottom" | "middle" | "top" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TD element represents a table cell, and as such it is a subelement of the table row TR element, which in turn is a subelement of the TABLE element. The TH element is a special kind of table cell that functions as a table header. For more information about the placement of TD and TH cells in the overall table structure, refer to the TABLE element. Both TD and TH elements can contain any content that can be held by the BODY element, including text, images, hyperlinks, and embedded objects (when supported). While end tags are not required because a TD cell terminates at the start of any other TABLE element, they are recommended. The attributes of TD and TH are identical, and include a number of Liberate-only extensions. The first group of extended attributes creates animated effects. For more information about these animation attributes, refer to the complete description under the BEHAVIOR attribute. The second group of attributes makes table cells dynamic, allowing them to accept user focus JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 129 (FOCUSABLE) and be highlighted by the focus ring (HIGHLIGHTABLE). These dynamic attributes only work on versions of TV Navigator that have dynamic table abilities. Variations TV Navigator Compact does not support dynamic table elements. Attributes align SYNOPSIS: DESCRIPTION: align=["center" | "left" | "right"] Sets the horizontal alignment of content for the TD cell. background SYNOPSIS: DESCRIPTION: background="URL" The BACKGROUND attribute specifies an image file to use as a page background. The URL parameter can point to any .jpg, .png, or .gif image file. If the image is smaller than the cell, the image will be tiled. GIF images with transparent areas will display the BGCOLOR of the cell through the transparent areas. You can put the television image in the background of a cell by assigning the tv: URL to the BACKGROUND attribute. TV Navigator also allows the URL to be assigned using the color: protocol. For example: This is identical to the following: 130 CHAPTER 2: HTML REFERENCE JANUARY 2002 behavior, direction, loop, scrollamount, scrolldelay SYNOPSIS: behavior=["scroll" | "slide" | "alternate"] direction=["left" | "right"] loop=["number" | "-1" | "infinite"] scrollamount="pixels" scrolldelay="milliseconds" These five attributes animate text within a cell. The presence of any one of them is sufficient to cause cell text to move; a default value is used for any of the five that isn’t explicitly set. However, if none of the five attributes is set, the text in the cell won’t be animated. Text can be assigned to the cell in HTML or with the JavaScript TableCell.write() method. It’s limited to a maximum of 4 kilobytes. The BEHAVIOR attribute says how the text is to move. There are three sanctioned values: DESCRIPTION: • For "scroll", the cell starts out empty. Text scrolls into view from one side, moves through the cell, and exits on the other side. It then begins over again. This is the default setting of BEHAVIOR. • For "slide", the text also begins off to one side. It scrolls into view and stops before the first character can exit the other side. • For "alternate", the text bounces from one side of the cell to the other and back again. The DIRECTION attribute indicates the direction the text should scroll, slide, or move before its first bounce. It can be either "left" or "right": The default is "left". The LOOP attribute is the number of times the text will scroll past the user, slide into place, or bounce from side to side. It can be set to a specific number or, for continuous animation, to either "-1" or "infinite": The default LOOP is "infinite". JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 131 The SCROLLAMOUNT attribute is the number of pixels the text should move horizontally each time it’s redrawn, and SCROLLDELAY is the number of milliseconds separating one redraw from the next. Together they determine how smoothly and how fast the text moves. The default SCROLLAMOUNT is 4 pixels, and the default SCROLLDELAY is 66 milliseconds. VARIATIONS: These attributes are not supported in TV Navigator Compact. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the cell. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE or TR element to show through to the cell in the row. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” SEE ALSO: BACKGROUND attribute. colspan SYNOPSIS: DESCRIPTION: colspan="number" The COLSPAN attribute indicates the number of columns that the current TD cell should merge to the right. Every row that contains a COLSPAN merged cell from above will need (number - 1) fewer TD cells. For example, the following table: merged cells The resulting table looks like this: merged cells 132 CHAPTER 2: HTML REFERENCE JANUARY 2002 direction SYNOPSIS: DESCRIPTION: direction=["left" | "right"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute on page 131. focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] A cell in a dynamic table can take input focus and be selected by the user—if the cell’s FOCUSABLE attribute is set to "true" or is simply present without an assigned value. If the attribute is absent or set to "false", the cell cannot take the focus. As the user navigates from cell to cell, the focus will jump over it. To see the standard focus rectangle around the cell, you must also set the HIGHLIGHTABLE attribute for the cell or the table. To create a custom highlighting effect, you can use the onfocus and onblur event handlers for the cell. The focusability of a cell can be changed dynamically through a JavaScript TableCell property that matches this attribute. VARIATIONS: This attribute is not supported in TV Navigator Compact. height, width SYNOPSIS: height="pixels" width="pixels" To make tables fit within the width of the screen, TV Navigator may reduce the size of cells, ignoring the values set for the WIDTH attribute. Normally, WIDTH is taken as a minimum. Computer-oriented browsers widen a cell beyond the width specified if it’s necessary to display the contents of any cell in the same column (because all cells in a column have the same width). However, they don’t reduce a cell below the requested WIDTH and HEIGHT. TV Navigator tries to honor the requested WIDTH, but will reduce it if that’s the only way to keep everything in view and avoid horizontal scrolling. This can especially affect empty cells. For example, to add whitespace to a table, some content developers use empty cells with a specific WIDTH or HEIGHT. For DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 133 instance, if a table has 12 rows of cells and you want a left gutter of 20 pixels wide before each row, the first cell in the table could have this form: However, if table cells with content require more space than is available, TV Navigator tries to find the best fit, even if it means ignoring specified cell sizes. This can result in a loss of the 20 pixels of whitespace. To ensure that some whitespace exists in this worst case, add a SPACER element or a nonbreaking space as the only content in the cell: In this case, even if there isn’t enough room for the 20 pixels you asked for, at least the cells get the width of a space character in the default font setting. highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute determines whether the focus rectangle will be drawn around the cell when it’s the focus of user attention. Setting it to "false" prevents the rectangle from being drawn. In all other cases—setting it to "true", mentioning it with no value set, or not mentioning it at all—highlighting is automatic. This attribute gives you a way to turn off automatic highlighting if you have an alternative way of marking the cell when it’s in focus. For example, in JavaScript, you could implement TableCell.onfocus() and onblur() handlers that would change the background image or color of the cell. You can dynamically determine whether or not a cell will be highlighted with the focus rectangle through a JavaScript TableCell property that matches this attribute. The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set this behavior for all cells in the table. The settings for individual cells override the TABLE setting. VARIATIONS: This attribute is not supported in TV Navigator Compact. 134 CHAPTER 2: HTML REFERENCE JANUARY 2002 loop SYNOPSIS: DESCRIPTION: loop=["number" | "-1" | "infinite"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: nowrap SYNOPSIS: DESCRIPTION: nowrap If NOWRAP is specified for a TD cell, TV Navigator tries not to scale images or wrap text within the cell. Because horizontal scrolling is not allowed, TV Navigator will ignore NOWRAP if other cells in the table have to be squeezed, making their contents unreadable or too small. rowspan SYNOPSIS: DESCRIPTION: rowspan="number" The ROWSPAN attribute indicates the number of rows that the current TD cell should merge from below. Every TR row that contains a merged cell from above will need one less TD cell. For example: merged cells The resulting table looks like this: merged cells JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 135 scrollamount SYNOPSIS: DESCRIPTION: scrollamount="pixels" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: scrolldelay SYNOPSIS: DESCRIPTION: scrolldelay="milliseconds" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: valign SYNOPSIS: DESCRIPTION: valign=["bottom" | "middle" | "top" | "baseline"] The VALIGN attribute sets the vertical alignment of the cell contents. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the cell, respectively. A setting of "baseline" aligns the first line of text in the cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. width see height 136 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ...optionaltext... bgcolor="color" cols="numChars" disabled focusable=["true" | "false"] name="string" rows="numLines" wrap=["off" | "hard" | "soft"] onblur="JavaScript" onchange=JavaScript" onfocus="JavaScript" onselect="JavaScript" EVENT HANDLERS: Overview The TEXTAREA element creates a text input control inside a FORM element. The TEXTAREA element is different from the INPUT type="text" element because it allows the user to input multiple lines of wrapped text. You can set the size and appearance of the text area and control its behavior inside the form. Liberate has extended the TEXTAREA element with two attributes. The first lets you set the BGCOLOR of the element. The second attribute, FOCUSABLE lets you designate a text area as readonly—by setting focusable="false"—for the purpose of displaying text. The end tag is required for the TEXTAREA element, and in a typical form the end tag appears directly after the opening tag. However, you can choose to display text in the text area by inserting it between the opening and closing tags. Figure 29 shows an example of a TEXTAREA in a form with a background color and some initial text. cols="20" rows="2" bgcolor="papayawhip" Figure 29: TEXTAREA Element in TV Navigator JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 137 This is the code that created the text area: Symptoms: Type here When TV Navigator displays the text area to the user, it follows an algorithm that lets the user navigate the FORM and also edit text in the TEXTAREA: • First, the user navigates the entire page and the different elements inside the FORM by using the cursor keys or the Tab key to jump from element to element. • When the highlight rectangle lands on a TEXTAREA element, the user presses Enter or any alphanumeric key to begin typing. • The user can enter carriage returns in the text by pressing the Enter key. By default, text automatically wraps inside the TEXTAREA. Carriage returns entered by the user are submitted with the form data as line feeds. • The user can edit text already typed by using the cursor keys and the Backspace key. The entire field is cleared if the user presses the Delete key. • The user exits the text area by pressing the Tab key, or by moving the cursor beyond text already entered. If the text area is reentered during navigation, typing and editing begins after the last character. Variations The TEXTAREA element is not supported in TV Navigator Compact, because the FORM element is not supported. Attributes bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the TEXTAREA element. A setting of "transparent" (the default) allows the BGCOLOR attribute of the BODY element to show through to the background. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” 138 CHAPTER 2: HTML REFERENCE JANUARY 2002 cols SYNOPSIS: DESCRIPTION: cols="numChars" Sets the width of the element. The unit of measurement is a single character of the available monospace font. Thus, a value of "40" sets the width of the TEXTAREA to hold 40 characters. If no value is specified, the text area expands horizontally to fit the maximum space available. disabled SYNOPSIS: DESCRIPTION: disabled The DISABLED attribute prevents the user from focusing on the TEXTAREA element. No name-value pair will be sent to the server upon submission of the form. Compare this with the behavior of the READONLY attribute. This attribute is not yet supported in any version of TV Navigator. To prevent focus, use the FOCUSABLE attribute. VARIATIONS: focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] TEXTAREA elements are focusable by default. However, you may want to use a text area to simply display information to the user, rather than display what the user types. The FOCUSABLE attribute gives you a choice. If it is set to "true", listed without a value, or not listed at all, the text area can become the focus for user input. However, if it is set to "false", it cannot become the focus and will not display any characters the user types. In JavaScript, there is a matching Textarea object with the same property. With it, you can dynamically determine when the text field should accept input from the user. VARIATIONS: This attribute is not supported in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute of any form control, including TEXTAREA, is used for two functions. The first function of NAME is to identify the control for manipulation from JavaScript. The second function is to provide the “name” in the name- JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 139 value pair of data that is submitted to the server. Although NAME is not a required attribute, the text area serves little purpose without it. VARIATIONS: This attribute is not supported in TV Navigator Compact. rows SYNOPSIS: DESCRIPTION: rows="numLines" Sets the vertical height of the TEXTAREA element, in the number of lines of text to accommodate. If no value is specified, the default is 10 lines. wrap SYNOPSIS: DESCRIPTION: wrap=["off" | "hard" | "soft"] The "hard" and "soft" settings (the default is "soft") of the WRAP attribute produce automatic text wrapping. The user can also enter carriage returns in the text area by pressing the Enter key. If the WRAP attribute is set to "hard", carriage returns generated by automatic wrapping are sent as line feeds. The "soft" setting only sends carriage returns typed by the user. If WRAP is set to "off", any text that overflows the width setting of the TEXTAREA forces previously typed text to scroll off the text area to the left. This does not erase any previously typed text. To move down to the next line, the user must press a carriage return. All manually entered carriage returns are submitted as part of the form data. A one-row text area with WRAP set to "off" behaves just like an INPUT type="text" element. USAGE: ATTRIBUTES: s1 yes c3 yes ...text... none The TITLE element is required by the HTML specification. The text enclosed by the TITLE element defines the string displayed in history and favorites lists. In a PC browser, the content of the TITLE element is displayed as the label for the browser window. TV Navigator has no parallel function. 140 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] bgcolor="color" valign=["top" | "middle" | "bottom" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TR element defines a table row, and is therefore a subelement of the TABLE element, and a container for table cells (TD elements). The TR element accepts a limited number of attributes that determine alignment and color. These attributes can be overridden by local declarations in each table cell. TV Navigator does not require an end tag for TR. For more information about TR, refer to the complete description of the TABLE element. Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] Sets the horizontal alignment of content for all the cells in the TR row. The ALIGN attribute of a TR row can be overridden by local declarations of ALIGN for each TD cell in the row. bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["color" | "transparent"] Sets the background color for all the cells in the TR row. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE element to show through to the cells in the row. The BGCOLOR attribute of a TR row can be overridden by local declarations of BGCOLOR for each TD cell in the row. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 141 For more information about setting the color parameter, refer to Chapter 4, “Using Color.” valign SYNOPSIS: DESCRIPTION: valign=["top" | "middle" | "bottom" | "baseline"] The VALIGN attribute sets the vertical alignment of cell content in the TR row. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the row, respectively. A setting of "baseline" aligns the first line of text in each cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. The VALIGN attribute of a TR row can be overridden by local declarations of VALIGN for each TD cell in the row. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The TT element, along with the related CODE and PRE elements, serves little purpose in a television environment. The intent of TT is to display teletype output. In TV Navigator, TT elements look exactly like CODE elements. Refer to CODE for more information. Variations TV Navigator Compact does not support the TT element in the foreground layer. 142 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... none The U element creates an underline effect for the text it surrounds. The underline is 2-3 pixels wide (depending on the size of the text), and rendered in the same color as the text. To prevent visual artifacts, some versions of TV Navigator may “antialias” the underline—that is, paint either the top and/or bottom row of pixels in a lighter shade of the text color. Generally, the underline effect should be avoided, as most users expect underlined text to be a hyperlink. USAGE: ATTRIBUTES: s1 yes c3 yes ... compact type=["circle" | "disc" | "square"] Overview The UL element creates an unordered list of items, also called a “bulleted list.” Use the UL element to enclose the list, and LI elements to mark each list item. Only the UL element requires an end tag; end tags for LI items are not necessary, because these elements terminate automatically at the start of any other list element. For example: Red Orange Yellow Green In TV Navigator, the unordered list looks like (Figure 30). JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 143 default Unordered Lists in Standard 1.x Red Orange Yellow Green type="circle" Red Orange Yellow Green type="disc" Red Orange Yellow Green type="square" Red Orange Yellow Green default Unordered Lists in Compact 3.x type="circle" type="disc" type="square" Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Figure 30: Unordered Lists in TV Navigator As Figure 30 shows, TV Navigator Compact lets you control the appearance of the list with the TYPE attribute. This behavior applies to TV Navigator Micro Edition as well. To distinguish the list from the surrounding text, the entire list is typically indented 20 pixels to the right, and 30 pixels down from the previous line. For versions supporting the TYPE attribute, TV Navigator distinguishes levels of indentation (lists within lists) by altering the bullet type as follows: • Disc (first-level indent) • Square (second-level indent) • Circle (third-level indent) Variations TV Navigator Standard 1.x does not support the TYPE attribute. 144 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes compact SYNOPSIS: DESCRIPTION: compact The COMPACT attribute is intended to compress the appearance of an unordered list. In TV Navigator, lists are already rendered as compactly as possible, so this attribute has no visible effect. type SYNOPSIS: DESCRIPTION: type=["circle" | "disc" | "square"] Determines the appearance of the “bullet” at the start of each list item. The default value is "disc" (see Figure 30). Not supported in TV Navigator Standard 1.x. AVAILABILITY: USAGE: ATTRIBUTES: s1 yes c3 yes programvariable none The VAR element marks a character or word as a variable in a computer program or mathematical description. TV Navigator renders VAR in an italic version of the surrounding font. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 145 USAGE: ATTRIBUTES: s1 yes c3 no ...... none The WBR element can reside inside any section of text surrounded by a NOBR element. It allows the browser to insert a line break in the specified location if the window is not wide enough to fit the entire NOBR section. For example: JavaScript variables are marked read-only, write-only, or read/write to indicate whether they can be, respectively, examined but not modified, modified but not examined, or both examined and modified. In this example, TV Navigator breaks the passage after the word “marked” but not after “read/write”. Why is this so? If a WBR element occurs in a line following a line break generated by a previous WBR element, it is considered to be an optional line break for the same line, and is ignored. See the NOBR element for more information. Variations TV Navigator Compact does not support the WBR element. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The XMP element is intended to display a block of computer code. Although this element is supported in TV Navigator, you should use the PRE element instead. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 146 CHAPTER 2: HTML REFERENCE JANUARY 2002 Event Handlers CHAPTERS 3 Typically, the body of an event-handler function is defined in HTML. But handlers can also be defined in JavaScript. In some cases, they must be defined in JavaScript because they belong to objects (like NetRequest and User Manager) that don’t have HTML counterparts. In HTML, event handlers are defined as strings of JavaScript code. However, in JavaScript, they should be defined as functions. For more information, refer to “Defining Event Handlers” in the Content Developer’s Guide. Note: To conform to the HTML specification, event handler names used as tag attributes are case-insensitive. However, to maintain consistency with the Liberate JavaScript implementation, all event handlers defined here are lowercase only. AVAILABILITY The event-handler attributes listed here apply only to TV Navigator Standard 1.2 (and higher) . Versions of TV Navigator that use a microBrowser application, such as TV Navigator 3.x (and higher), will ignore the event-handlers and any associated JavaScript. ATTRIBUTES onabort SYNOPSIS: DESCRIPTION: The event-handling attribute onabort triggers when the transfer of an image to the client has been interrupted. Typically, the ELEMENT is IMG. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Availability 147 onblur SYNOPSIS: DESCRIPTION: The event-handling attribute onblur triggers when the ELEMENT loses the input focus. onchange SYNOPSIS: DESCRIPTION: The event-handling attribute onchange triggers when the ELEMENT loses focus and its contents changed while it had focus. The most common use for the onchange attribute is on the form elements INPUT, SELECT, and TEXTAREA. onclick SYNOPSIS: DESCRIPTION: The event-handling attribute onclick triggers when the user has pressed a key on the remote or keyboard to invoke the ELEMENT that’s currently in focus. onerror SYNOPSIS: DESCRIPTION: The event-handling attribute onerror executes its JavaScript statement when an error is detected in the document. For example, the onerror event handler would fire if there was an error following a link or loading an image. The most common ELEMENTs for onerror are the IMG element and the BODY element. On the BODY element, onerror refers to the entire window object, not just the document object. onfocus SYNOPSIS: DESCRIPTION: The event-handling attribute onfocus triggers when the ELEMENT receives the input focus. 148 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 onkeyout SYNOPSIS: DESCRIPTION: The event-handling attribute onkeyout is a Liberate extension to the HTML specification. This method belongs to the JavaScript Input object, and is designed to handle cases where user input does not apply to the context of the current page. For example, the onkeyout event handler would fire if the user changed channels, but the current HTML document has no object to process channel changing. For more information, refer to the “Input Object” topic in the Content Developer’s Reference. onload SYNOPSIS: DESCRIPTION: The event-handling attribute onload triggers when the document specified by ELEMENT completes downloading into TV Navigator. The most common ELEMENTs for onload are BODY, FRAMESET and IMG. onmouseout SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseout triggers when the user input focus leaves ELEMENT after landing on it. Because there is no mouse present in the TV environment, TV Navigator treats onmouseout the same as onblur. onmouseover SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseover triggers when the user input focus lands on ELEMENT. Because there is no mouse present in the TV environment, TV Navigator treats onmouseover the same as onfocus. onnavigate SYNOPSIS: DESCRIPTION: The event-handling attribute onnavigate is a Liberate extension to the HTML specification. onnavigate is called once if the user attempts to move the focus rectangle in any direction from the cell that’s currently in focus. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Attributes 149 onreset SYNOPSIS: DESCRIPTION: The event-handling attribute onreset triggers when the user selects the Reset button in a form. onreset applies only to FORM elements. onselect SYNOPSIS: DESCRIPTION: The event-handling attribute onselect triggers when the user selects text in an INPUT or TEXTAREA element. Note that TV Navigator does not support user selection of text. onsubmit SYNOPSIS: DESCRIPTION: The event-handling attribute onsubmit triggers when the user selects the Submit button in a form. onsubmit applies only to FORM elements. onunload SYNOPSIS: DESCRIPTION: The event-handling attribute onunload triggers when a document is about to be unloaded from a window or frame. To apply onunload to a window, it must be an attribute of the BODY element in the affected document. Alternatively, onunload can apply to a FRAME element. onvisible SYNOPSIS: DESCRIPTION: The event-handling attribute onvisible triggers when the visibility of the ELEMENT changes. When defined as the attribute of a BODY element, the document must be in the topmost window, not a frame. For example: onvisible can also be defined as an attribute of the FRAMESET element, provided that it’s the topmost frameset. 150 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 Using Color CHAPTERS 4 Television is an inherently colorful medium. Viewers expect content on the TV screen to not only be colorful, but to use color in specific ways. For example, the Yahoo! Web site (http://www.yahoo.com) uses a black and blue over white color scheme that is both efficient and familiar to computer users. On a television screen, however, such a color scheme would rarely be seen. By using the standards of the Web, TV Navigator lets you specify color schemes for your content that are effective and attractive on a TV screen. For more information about designing with color, refer to the Content Developer’s Guide. This chapter provides a description of all HTML attributes that specify color, and how to specify color using hexadecimal RGB codes or predefined color names. COLOR ATTRIBUTES Refer to Chapter 2, “HTML Reference,” for a complete description of the HTML elements mentioned here. Note: In TV Navigator Compact, color attributes are limited if they are located in the foreground layer of the page. For more information about layering, refer to the DIV, BODY, and FONT elements in Chapter 2. link, alink, vlink SYNOPSIS: These attributes determine the color of links (LINK), selected links (ALINK), and visited links (VLINK) in the BODY element of your HTML document. You can DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Attributes 151 specify color using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. For example, both of these opening body tags (not in the same document, of course), specify a greyish-blue color for links on the page: VARIATIONS: TV Navigator does not support the ALINK or VLINK attributes. bgcolor SYNOPSIS: This attribute determines the background color of the document or the background color of tables, rows, and cells. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: color SYNOPSIS: The COLOR attribute determines the color of text enclosed by the FONT element. Alternatively, the color of all text following a BASEFONT element can be set with the COLOR attribute. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: text SYNOPSIS: DESCRIPTION: The TEXT attribute of the BODY element sets the global color of text in the document. The FONT and BASEFONT elements can override this global attribute with local declarations of text color. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. 152 Color Attributes CHAPTER 4: USING COLOR JANUARY 2002 HEXADECIMAL RGB Hexadecimal RGB is the most common (and compatible) method for specifying color as an attribute. “RGB” refers to a triplet of values for red, green, and blue. Each of the three colors is represented by a two-digit hexadecimal (“hex” for short) number. The hex number 00 (decimal 0) equals no color, while hex FF (decimal 255) equals full color. Therefore, #000000 represents pure black and #FFFFFF represents pure white. Intermediate values for red, green, and blue in different ratios can reproduce the entire color spectrum. For example, Figure 31 shows how to create the named color “chocolate” using the hexadecimal RGB scheme. Pound Sign #D2691E Red Value Green Value Blue Value chocolate #D2691E Figure 31: Specifying Color in Hexadecimal RGB To specify “chocolate” as the background color of a page in HTML, you would use either of the following methods: COLOR NAMES TV Navigator recognizes a set of 140 color names that can be used as attributes. This set is common to all versions of TV Navigator as well as current versions of Internet Explorer and Netscape Navigator. This list of 140 named colors should not be confused with the set of 216 “Web-safe” colors that are in common use. The Web-safe colors form a palette that reproduces consistently between different PC browsers. Web-safe colors are not a concern on TV Navigator. If you will be setting the color of an object dynamically from JavaScript, you cannot use the named colors. You must use hexadecimal RGB for dynamic properties. The following three figures show the complete set of 140 named colors. The hexadecimal RGB equivalent is shown below the color name. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Hexadecimal RGB 153 aliceblue #F0F8FF #F0FFFF antiquewhite #FAEBD7 #F5F5DC #0000FF #5F9EA0 aqua #00FFFF #FFE4C4 #8A2BE2 #7FFF00 #FFF8DC #008B8B #BDB76B #9932CC #483D8B #FF1493 #B22222 #DCDCDC #808080 #FF69B4 #F0E68C aquamarine #7FFFD4 #000000 #A52A2A #D2691E #DC143C azure beige bisque black blanchedalmond #FFEBCD burlywood #DEB887 #FF7F50 #00FFFF #A9A9A9 blue blueviolet brown cadetblue chartreuse chocolate crimson coral cornflowerblue #6495ED darkblue #00008B #006400 #FF8C00 #8FBC8F #9400D3 #1E90FF #FF00FF #DAA520 #F0FFF0 #FFFFF0 cornsilk cyan darkcyan darkgoldenrod #B8860B darkmagenta #8B008B #8B0000 #2F4F4F #00BFFF #FFFAF0 #F8F8FF #F008000 #CD5C5C #E6E6FA darkgray darkgreen darkkhaki darkolivegreen #556B2F darksalmon #E9967A #00CED1 #696969 #228B22 #FFD700 #ADFF2F #4B0082 darkorange darkorchid darkred darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fushcia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender Figure 32: Named Colors (page 1 of 3) 154 Color Names CHAPTER 4: USING COLOR JANUARY 2002 lavenderblush #FFF0F5 #F08080 #D3D3D3 #87CEFA #00FF00 #B03060 lawngreen #7CFC00 #E0FFFF #FFB6C1 #778899 #32CD32 lemonchiffon #FFFACD lightblue #ADD8E6 #90EE90 #20B2AA #FFFFE0 #FF00FF lightcoral lightcyan lightgoldenrodyellow #FAFAD2 lightsalmon #FFA07A #B0C4DE #FAF0E6 #0000CD lightgreen lightgray lightpink lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine #66CDAA mediumseagreen #3CB371 mediumvioletred #C71585 moccasin #FFE4B5 #808000 #DA70D6 #DB7093 #FFC0CB #FF0000 #FA8072 mediumblue mediumorchid #BA55D3 mediumspringgreen #00FA9A mintcream #F5FFFA #000080 #FFA500 #98FB98 #FFDAB9 #B0E0E6 #4169E1 #2E8B57 mediumpurple #9370DB mediumturquoise #48D1CC mistyrose #FFE4E1 #FDF5E6 #FF4500 #AFEEEE #CD853F #A020F0 #8B4513 mediumslateblue #7B68EE midnightblue #191970 #FFDEAD #6B8E23 navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod #EEE8AA papayawhip #FFEFD5 #DDA0DD #BC8F8F #F4A460 palegreen paleturquoise palevioletred peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen Figure 33: Named Colors (page 2 of 3) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Names 155 seashell #FFF5EE #6A5ACD #4682B4 #FF6347 #F5DEB3 #9ACD32 sienna #A0522D #708090 #D2B48C see text #FFFFFF silver #C0C0C0 #FFFAFA #008080 #40E0D0 #F5F5F5 skyblue #87CEEB #00FF7F #D8BFD8 #EE82EE #FFFF00 slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen Figure 34: Named Colors (page 3 of 3) TRANSPARENT BACKGROUNDS Note: TV Navigator Compact does not support transparency. The BGCOLOR attribute of the following elements can be set to “transparent”: Form elements that display text also have a BGCOLOR attribute that can be “transparent”: In these contexts, “transparent” is a color name, just like “red”, “lime”, or “maroon”, except that it indicates the absence of a background color. You can think of the elements displayed within a window as being layered. When one of them is transparent, the background image of the element underneath it shows through. For 156 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 example, if a table cell is transparent and the body of the document it’s in is assigned a background color or image, you’ll see the image underneath whatever text is placed in the cell: For the purpose of background color, tables, table rows, and table cells are all in the same layer. Setting BGCOLOR for a table is simply a convenient way of setting it for all cells in the table; setting it for a row simply sets it for all cells in the row. Therefore, any transparency in a table lets the body background show through. The following BODY element has a transparent background color, and is displayed in a frame: In this example, the image that shows through is the one assigned in the FRAMESET element, as discussed in the previous section. However, if the document is at the top level of the window, rather than in a subframe, the contents of the window behind it will show through. In this way, a small window can pop up in front of another window and blend with the larger window’s contents. BGCOLOR defaults to “transparent” for the table cells, but not for BODY or FORM elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Transparent Backgrounds 157 158 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 Content Data Types CHAPTERS 5 TV Navigator has the built-in ability to handle various types of data retrieved over the Internet. This chapter lists the types it handles without any help—the audio types it can play, the text and image types it can display, and so on. It shows the content-type string (the MIME media type) along with the file extensions that typically identify the type—for example, “audio/wav” and something.wav for a file with data in the Waveform Audio File Format. Because TV Navigator is a thin client, some of the work of interpreting incoming data may be taken over by a server, particularly the Liberate Transcode server. The server processes incoming data and translates it to another, private type for more efficient handling by the client software. For example, the TV Navigator client can display JPEG and GIF images although it never sees the JPEG and GIF data formats. The server converts these formats to a third type before sending the data to the client. This chapter documents the MIME media types that the server and client, working together, can handle. It doesn’t document the private types used internally between client and server. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 159 TEXT FORMATS text/plain EXTENSIONS: DESCRIPTION: .txt etc. Plain text not formatted with HTML tags. text/html EXTENSIONS: DESCRIPTION: .html, .htm HTML documents. 160 Text Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 AUDIO FORMATS Beginning with release 1.3, TV Navigator (not Compact) supports sampled audio data in the WAV, AIFF, and AU formats. It accepts both monaural and stereo data sampled at all standard rates, namely: 8.000 kHz 11.025 kHz 12.000 kHz 16.000 kHz 22.050 kHz 24.000 kHz 32.000 kHz 44.100 kHz 48.000 kHz However, the three formats differ in which compression schemes and sample sizes are supported. Those differences are described in the list of types that follows. Although a range of sampled audio data is understood—including all common encodings—the Transcode server simplifies the variety for the client. It currently translates all audio data to a single format at one encoding, sample rate, and sample size before delivering it to the set-top box. In TV Navigator Standard 1.1 and 1.2, all sound data must be in the WAV format, uncompressed, monaural, and sampled at 8 bits per second. audio/aiff, audio/x-aiff EXTENSIONS: DESCRIPTION: .aiff, .aif Audio Interchange File Format (AIFF), developed by Apple Computer and used mainly on their computers. TV Navigator supports only uncompressed, linear PCM (Pulse Code Modulation) encodings at either 8 or 16 bits per sample. audio/basic EXTENSIONS: DESCRIPTION: .au Audio (AU) format, developed by Sun Microsystems and originally used on UNIX machines. Several encodings are supported, primarily the following: • Uncompressed, linear PCM encoding, either integer or floating point, at 8, 16, or 32 bits per sample • Conventional A-law and µ-law compression (the CCITT G711 standard) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Audio Formats 161 In addition, two versions of ADPCM (Adaptive Differential Pulse Code Modulation) encoding are supported on an experimental basis: • G721 compression at 4 bits per sample • G723 compression at 3 or 5 bits per sample audio/wav, audio/x-wav EXTENSIONS: DESCRIPTION: .wav Waveform Audio File Format (WAV), first defined by Microsoft for multimedia extensions to Windows and now an Internet standard. The supported encodings are: • Uncompressed, linear PCM encoding at 8 or 16 bits per sample (floating point is not supported) • A-law and µ-law compression (the G711 standard) • Microsoft ADPCM compression • IMA (Interactive Multimedia Association) ADPCM compression • G721 ADPCM compression 162 Audio Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 IMAGE AND VIDEO FORMATS image/gif EXTENSIONS: DESCRIPTION: .gif The GIF format (Graphic Interchange Format) for representing image data. This format diplays compressed (lossless), 256-color images. Depending on how the images are prepared, they can be optionally transparent or interlaced. Use this format for images with hard edges and solid areas of color. Animation is also supported in this format, but is not recommeded in TV Navigator. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: image/jpeg EXTENSIONS: DESCRIPTION: .jpeg, .jpg, .jpe The JPEG (Joint Photographic Experts Group) format for compressed image data. This format displays compressed (lossy) images with photographic quality (millions of colors). JPEG should be used for photographic images and gradients only, not for images with hard edges and solid areas of color. Animation and transparency are not supported. image/png EXTENSIONS: DESCRIPTION: .png The Portable Network Graphics (PNG) format, for representing image data. This format displays compressed (lossless) images. Images can be transparent or include animation. A variety of bit depths are supported, up to millions of colors. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Image and Video Formats 163 OTHER FORMATS application/x-javascript EXTENSIONS: DESCRIPTION: VARIATIONS: .js, .mocha JavaScript code. TV Navigator currently identifies JavaScript code in files with the extension .wnj as the “application/x-dtv-script” type. In practice, there is no difference between this type and “application/x-javascript”. This redundancy simply lets you distinguish one sort of JavaScript file from another. For example, you could mark files that use the Liberate extensions with the .wnj extension and reserve .js for more generic files. Not available in TV Navigator Compact. application/x-shockwave-flash EXTENSIONS: DESCRIPTION: VARIATIONS: .swf The data format for Macromedia Flash movies. Not available in TV Navigator Compact. In TV Navigator Standard, availability is at the discretion of the service provider. Chapter 8, “Playing Flash Movies” SEE ALSO: 164 Other Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 Protocols CHAPTERS 6 This chapter lists the protocol names that can appear in URLs understood by TV Navigator. Standard protocols are listed here, but are not described in any detail. The protocols that are peculiar to the TV environment—tv: and mcast:—are discussed more fully. PROTOCOLS FOR TV AND BROADCAST tv: SYNOPSIS: DESCRIPTION: tv:[channel][#src=(left,top,width,height)] Places television in a Web page and optionally specifies two things: the source of video input (the channel) and the part of the television picture to be displayed (a rectangle defined by the left, top, width, and height parameters). In general, the tv: protocol can be used anywhere that a URL can specify image data. Specifically, it can set the SRC attribute of an IMG or FRAME element and the BACKGROUND attribute of a handful of other elements: It can also be the destination of a link: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 165 In JavaScript, it can be used in comparable places: document.myImage.src = "tv:"; window.location = "tv:"; window.open(“tv:”, . . .); document.myTable.rows[0].cells[0].background = "tv:"; Tuning. If a channel ID immediately follows the protocol name, TV Navigator will, if possible, tune to the specified channel. For example: window.location = "tv:5"; Channel IDs are strings, so “12” is not the same as “0x0C”, and “5” is not the same as “05” or “005”. The string that follows tv: must exactly match the id property of a TvChannel object. In theory, you can also specify the video source by channel name, "tv:cnn", "tv:kron" or by a network name, "tv:abc", "tv:fox" provided that information is available that would permit the system to map those names to channel IDs. Channel and network names are case-insensitive. If an ID or name is omitted, tv: adds video to the page, but retains the current tuning. Note: In the current release, channel IDs are supported, but channel and network names are not. Scaling the picture. By default, a tv: URL places the full television picture on the page and scales it to fit the container (the window, frame, image, or table cell to which it’s assigned). In the following example, the TV picture would be scaled to fit the width and height specified for the image, and viewers would see a miniature, 180 × 135 version of full-screen TV: Some set-top boxes are capable of scaling the picture only to certain sizes—such as 1/4, 1/3, 1/2, 2/3, and 3/4 full size. Selecting part of the picture. It’s not necessary to display the entire television picture contained in the incoming video signal. The tv: URL can 166 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 select just a section of it to display. The section is defined by a rectangle using a coordinate system that has coordinate units equal to pixels and the origin at the upper left corner of the full picture. The rectangle is measured against the dimensions of the full picture as defined for the video format. It’s located by its left and top edges and its width and height, in the following format: #src=(left,top,width,height) For example, the following code selects a central section of the picture to display. Assuming the incoming television signal carries video that’s 640 pixels wide and 480 pixels high (the NTSC format), it trims 90 pixels from the top and bottom of the picture and 70 pixels from the left and right sides: The specified 500 × 300 section of the TV picture is scaled to fit the container where it’s placed. If, in this example, the image container was the same size as the source rectangle, scaling would not be necessary: However, if the container is smaller, the 500 × 300 source picture would be scaled smaller. In the following code, its dimensions are cut in half, to 250 × 150: Similarly, if the container is bigger than the source rectangle, the picture is scaled larger: Just as some set-top boxes are limited to certain sizes or fractions when scaling smaller, they may also be limited when scaling larger. In the examples just shown, the dimensions of the source rectangle are stated in pixel units. They can also be defined as percentages of the screen size for the video format: If the screen is 720 pixels wide and 576 pixels high (typical of the PAL format), these percentages would translate to pixels as follows: If the screen is 640 × 480 (typical of NTSC), they would translate to different pixel values: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 167 Only integers should be used as percentages (no floating-point numbers). It’s best not to mix percentages with pixels in the same specification. Picking a container. The tv: protocol is the only way to put TV in a document. If there’s just one source of TV input (one TvTuner object), there’s just one TV resource to allocate. It can therefore be specified only once for all documents, frames, and windows. If two or more URLs compete for the TV picture, TV Navigator uses the following ordered rules to determine which one prevails: 1. It prefers to put television in a visible window, rather than in one that’s currently invisible. See the Window.visible property for more information. (Visibility is measured only by that property; if a window is on-screen but covered by other windows, it is still considered visible.) 2. If the competing windows are all equally visible, it prefers the window that’s closest to the front of the screen—the one with the greatest Window.layer value. See that property for more information. 3. If the URLs are in the same window or the competing windows have the same visibility and are assigned to the same layer, TV Navigator picks the URL that would put television in the largest container. Size is calculated by multiplying the container’s width by its height. If these three rules are not decisive, the container that draws first prevails. In this case, it’s not guaranteed that the same container would always draw first. For example, if a page had two equal tv: images, as in the following example, . . . one of the images might grab the TV picture when the page is displayed one time, and the other image another time. Note that as the visibility of windows changes dynamically, the TV picture might jump from one container to another. Containers that don’t get the TV picture, or lose it, are drawn in a solid color. AVAILABILITY: HISTORY: VARIATIONS: Channel and network names are not currently supported. The source rectangle was introduced in TV Navigator 1.2.6.1. Not yet available in TV Navigator Compact. Chapter 3 of the Content Developer’s Guide SEE ALSO: 168 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 mcast: SYNOPSIS:S DESCRIPTION: mcast://. . . A protocol for listening to Mediacast channels—data received through a oneway broadcast mechanism, including: • A stream of in-band MPEG data from a cable or satellite • Data encoded in the vertical blanking interval (VBI) of analog broadcasts • IP Multicast (IPM) data over an IP network An mcast: URL addresses all the data in a particular Mediacast channel— everything in a data carousel, for example, or in a stream of ticker data. Individual items in the stream may be addressed by their own URLs, possibly URLs with http: or another protocol name (but not mcast:). The mcast: URL maps logical names to particular data categories and sources. For example: Example URL mcast://news/headlines Data Yields a series of Web pages (a data carousel). Yields a single well-known page (also a data carousel). Yields a stream of data. mcast://favorites/contents.html mcast://ticker/stock mcast://tvinfo VARIATIONS: TV Navigator Compact does not support this protocol. goto: SYNOPSIS: goto:exit goto:tv Compact Platform provides this powerful custom protocol to reference metacontent. That is, the goto: links reference either a type of content or a browser action. Compact Platform recognizes the following types of goto: links: DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 169 • goto:exit - Closes the browser session. • goto:tv - Closes the browser session. AVAILABILITY: Available only in TV Navigator Compact. 170 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 STANDARD PROTOCOLS The TV Navigator application engine supports the standard protocols listed in this section. As noted in the next section, some other protocols are supported by specific Liberate applications. http: DESCRIPTION: Hypertext Transfer Protocol, the customary protocol for most Internet activity. https: DESCRIPTION: VARIATIONS: The secure version of the customary protocol. TV Navigator Compact does not support this protocol. javascript: DESCRIPTION: The protocol name that’s prefixed to embedded JavaScript code. When TV Navigator parses a javascript: URL, it executes the code, but does nothing with the resulting value. Typically, on computer-oriented browsers, if the last expression in the code inside a javascript: URL evaluates to a string (or to a type that can be converted to a string), the browser treats the string as if it was the document referred to by the URL. When the user follows the link in the following example, it would display the user agent string (since the last expression evaluates to what’s at the right of the assignment operator): VARIATIONS: TV Navigator Compact does not support this protocol. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Standard Protocols 171 UNSUPPORTED PROTOCOLS The following protocols are commonly used in Web application, but are not supported in TV Navigator, at least not directly, and don’t appear in the preceding lists: file: The protocol for specifying the path name of a file or other locally stored entity. Because TV Navigator is not currently available on set-top boxes that have hard disks and file systems, it does not support this protocol at the present time. Future versions will implement the file: protocol if the hardware supports a client file system. mailto: The protocol name for opening an e-mail application so the user can send mail to the specified recipient. Although the application engine for TV Navigator doesn’t recognize this protocol, the Liberate TV Mail™ application does. If TV Mail is installed for a user who selects a mailto: link, it will bring up a window where the user can compose a mail message. irc: The IRC (Internet Relay Chat) protocol for chat sessions. Although TV Navigator doesn’t support this protocol, Liberate TV Chat™ does. If TV Chat is installed for the current user and the user selects an irc: link, it attempts to contact the specified chat server and start the chat session. 172 Unsupported Protocols CHAPTER 6: PROTOCOLS JANUARY 2002 Playing Sounds CHAPTERS 7 Content created for TV Navigator Standard (not TV Navigator Compact) can associate sounds with a Web page in three ways: • As background sounds—played with the standard BGSOUND element. You can loop through the sound a specified number of times or have it played repeatedly. For example: • As linked sounds—played when the user follows a link to the sound file. The sound is played only once, when the file is loaded. For example: Kaboom!! • As embedded sounds—placed on the page with the standard EMBED element. For example: In all cases, sound data must be in one of the supported audio formats listed in Chapter 5, “Content Data Types.” Currently, TV Navigator can play embedded sounds only if they are declared to be user interface (UI) sounds—the various clicks, beeps, and swooshes that accompany user actions, such as when the user selects a radio button or presses a key. A Liberate–defined attribute, UISOUND, notifies TV Navigator that the sound is to be used in the user interface. Embedded sounds without this attribute are ignored. User-interface sounds are always hidden; they don’t have a visual presence on-screen and are not subject to user control. They’re played by calling the Embed object’s play() method, usually from a JavaScript event handler, as illustrated in the example on the next page. The example shows a user-interface sound that’s played when the user selects a button, from the button object’s onclick() handler. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 173 UI sound demonstration . . . . . . This example shows the EMBED element with six attributes: • The SRC attribute specifies the sound file (“click.wav”) and NAME gives it a name (“sound1”). The script then uses the name to identify the embedded sound as a property of the Document object. It defines a playClick() function that calls the sound’s play() method; the onclick() handler calls playClick() when the user invokes the button. • The HEIGHT and WIDTH attributes are required for compatibility with other browsers, but their values are ignored. • The LOOP attribute specifies that the sound will be played four times when play() is called. • The UISOUND attribute is required for TV Navigator to recognize the sound. The standard HIDDEN attribute is not specified, but is assumed. Other attributes of the EMBED element are not supported. Because UI sounds are played immediately in response to a user action, there’s not enough time to stream them in over the network. This means that they stay resident in RAM, taking up valuable resources. Be aware of the space that UI sounds consume, and keep them small. 174 CHAPTER 7: PLAYING SOUNDS JANUARY 2002 Playing Flash Movies CHAPTERS 8 TV Navigator Standard can play Macromedia Flash™ movies created in the Flash 4.0 SWF format. This support was added in the 1.3 and above releases of TV Navigator; it’s not available in the 1.1 versions of TV Navigator and may be present in some deployments of 1.2. You can load a Flash movie into a window or frame by making it the subject of a link: See a demonstration. Or, you can assign it as the source document of a frame: However, movies are typically placed on a page using the EMBED element. For example, the following HTML fragment places a Flash movie (skiing.swf) in a container that’s 200 pixels wide and 100 pixels high: This fragment shows the EMBED element with a set of commonly used attributes. A source file (the src attribute) must be specified. The WIDTH and HEIGHT of the display area, while not required, are recommended for efficient page translation. The NAME attribute is required only if the movie will be manipulated in JavaScript. For information on using JavaScript with Flash movies, refer to the Content Developer’s Reference. The rest of this chapter presents the EMBED element for Flash movies, and its unique attributes. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 175 USAGE: ATTRIBUTES: s1 optional c3 no ... base="URL" bgcolor=["#RRGGBB" | "transparent"] highlightable=["true" | "false"] loop=["true" | "false"] name="movie" play=["true" | "false"] pluginspage="http://www.macromedia.com/shockwave/download" quality=["high" | "low" | "autohigh" | "autolow" | "best"] salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] scale=["showall" | "noborder" | "exactfit"] src="URL" ui width=["percent" | "pixels"] ; height=["percent" | "pixels"] Attributes This section describes the common attributes of the EMBED element only when it’s used to embed a Flash movie. If attributes other than those listed are included in the tag, TV Navigator ignores them. If you don’t specify a value for an optional attribute, TV Navigator uses the default value. base SYNOPSIS: DESCRIPTION: base="URL" The base URL used to resolve relative path statements in the Flash movie. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["#RRGGBB" | "transparent"] The background color of the movie. This attribute overrides the background color setting in the Flash file. It takes a hexadecimal red-green-blue color specification (#RRGGBB) or the special color name “transparent” for a 176 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 transparent background. Other color names are not supported. For example, an indigo background would be specified as follows: height see width highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] Determines whether or not the user can select elements within the movie— “true” if it’s possible and “false” if not. The default is “true”. loop SYNOPSIS: DESCRIPTION: loop=["true" | "false"] Whether or not to repeat the movie indefinitely—“true” if it should begin playing again at the first frame whenever it reaches the final frame, and “false” if it should stop on the final frame. The default value is “true”. name SYNOPSIS: DESCRIPTION: name="movie" A name that can be used to refer to the movie in JavaScript. For example: This assignment would allow a script to find the corresponding Embed object as follows: If there’s more than one EMBED element on the page, be sure to use a unique name for each one. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 177 play SYNOPSIS: DESCRIPTION: play=["true" | "false"] Whether or not the movie will play automatically when it’s loaded—“true” if it should play automatically and “false” if not. The default is “true”. If you set this attribute to “false” to prevent the movie from playing automatically, you must use a JavaScript method to begin the movie animation. pluginspage SYNOPSIS: DESCRIPTION: pluginspage="http://www.macromedia.com/shockwave/download" The PLUGINSPAGE attribute tells the browser where to find the Flash plug-in if it is not detected. TV Navigator ignores this attribute because Flash capability is built into the TV Navigator application engine. However, if your movie will be shown on other browsers, you should use this attribute. quality SYNOPSIS: DESCRIPTION: quality=["high" | "low" | "autohigh" | "autolow" | "best"] The level of anti-aliasing in the movie. salign SYNOPSIS: DESCRIPTION: salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] Specifies how the movie is to be aligned when it’s resized using the SCALE attribute. The default behavior centers the movie in the specified area, and crops the edges if the movie does not fit. The SALIGN attribute is ignored if it is used without a corresponding SCALE attribute. The values position the movie along one edge or two adjacent edges of the containing rectangle, and crop it if necessary. The values are “L” (left), “R” (right), “T” (top), “B” (bottom), “TL” (top and left), “TR” (top and right), “BL” (bottom and left), and “BR” (bottom and right). 178 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 scale SYNOPSIS: DESCRIPTION: scale=["showall" | "noborder" | "exactfit"] Specifies how the movie should be scaled to its container. This attribute applies only when the WIDTH and HEIGHT specified are different from the movie’s original size. The values behave as follows: showall Makes the entire movie visible in the available area, while maintaining the aspect ratio. Borders may appear on two sides of the movie. This is the default setting. The effect is similar to a wide-screen film shown on a TV screen in letterbox format; a black border is shown above and below the film. noborder Shows as much of the movie as possible in the available area, while maintaining the aspect ratio. Parts of the movie that do not fit in the available area are cropped. The effect is similar to watching a wide-screen film that has been cropped on the sides (“panned and scanned”) to fit the narrower width of a TV screen. exactfit Forces the movie to fit the entire visible area. Aspect ratio will not be maintained, and distortion will occur. src SYNOPSIS: DESCRIPTION: src="URL" The source file for the movie. The URL can be relative or absolute. For example: Although most of the other attributes are optional, this one is obligatory. Your must specify a source. ui SYNOPSIS: DESCRIPTION: ui This attribute has no value. It’s a Boolean that’s either present or absent. Its presence indicates that the movie plays a role in the user interface. TV JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 179 Navigator takes this fact into account when it needs to reclaim memory to make room for new data. It tries to free other things, including other Flash movies, before getting rid of a movie marked with this attribute. width, height SYNOPSIS: width=["percent" | "pixels"] height=["percent" | "pixels"] These attributes specify a size for the movie; they override the size set in the Flash file. When set as a percent, they define the size of the movie in relation to the available screen area. When set as pixels, they define an absolute width and height. As such, they’re interpreted similarly to the WIDTH and HEIGHT attributes of the TABLE element. For example: DESCRIPTION: If only one of these attributes is specified, TV Navigator will attempt to maintain the aspect ratio of the movie. Although WIDTH and HEIGHT are optional, these attributes should be used whenever possible to improve transcoding performance. SEE ALSO: SCALE, SALIGN 180 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 Character Sets BASIC HTML CHARACTER ENTITIES CHAPTERS 9 TV Navigator supports a basic set of HTML character entities. Use these codes to display special characters in HTML documents. For example, each of the following lines of HTML displays the British “pound” character: £ £ The following table lists entities in order by numeric code equivalent, and provides the following information: • The first four columns (“Version”) indicate which version of TV Navigator supports the entity. For version notation, refer to Chapter 1, “Introduction.” • The “In Use” column shows how the character looks in TV Navigator (approximate). • The “Entity” and “Code” columns shows the literal strings to use in HTML to display the character. Generally, you can use either the entity or the code. • The “Description” column provides a brief description of the character. Version s1 c3 y y y y y y y y y y In Use Entity Code ¡ ¢ £ ¤ Description no-break space inverted exclamation point cent sign pound sign currency sign ¡ ¢ £ ¤ ¡ ¢ £ ¤ JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 181 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Code ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Description yen sign broken bar section sign diaeresis copyright sign feminine ordinal indicator left-pointing double angle quote not sign soft hyphen registered sign macron degree sign plus-minus sign superscript two superscript three acute accent micro sign pilcrow (paragraph sign) middle dot cedilla superscript one masculine ordinal indicator right-pointing double angle quote vulgar fraction one quarter vulgar fraction one half vulgar fraction three quarters inverted question mark cap A with grave cap A with acute 182 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Code Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Description cap A with circumflex cap A with tilde cap A with diaeresis cap A with ring above cap AE cap C with cedilla cap E with grave cap E with acute cap E with circumflex cap E with diaeresis cap I with grave cap I with acute cap I with circumflex cap I with diaeresis cap ETH cap N with tilde cap O with grave cap O with acute cap O with circumflex cap O with tilde cap O with diaeresis multiplication sign cap O with stroke cap U with grave cap U with acute cap U with circumflex cap U with diaeresis cap Y with acute cap THORN JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 183 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Code ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Description small sharp s small a with grave small a with acute small a with circumflex small a with tilde small a with diaeresis small a with ring above small ae small c with cedilla small e with grave small e with acute small e with circumflex small e with diaeresis small i with grave small i with acute small i with circumflex small i with diaeresis small eth small n with tilde small o with grave small o with acute small o with circumflex small o with tilde small o with diaeresis division sign small o with stroke small u with grave small u with acute small u with circumflex 184 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y In Use Entity ü ý þ ÿ ü ý þ ÿ Code ü ý þ ÿ Description small u with diaeresis small y with acute small thorn small y with diaeresis JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 185 186 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 INDEX A A element audio/x-wav 162 8–14 ABBR element 12 ACRONYM element 12 ACTION attribute FORM element 46 ADDRESS element 12 ALIGN attribute APPLET element 14 CAPTION element 32 DIV element 37 H1-H6 elements 56 HR element 58 IMG element 61 P element 100 SELECT element 109 SPACER element 113 TABLE element 122 TD,TH elements 130 TR element 141 ALINK attribute BODY element 26 ALT attribute APPLET element 14 AREA element 17 IMG element 62 APPLET element 13–15 application/x-dtv-script 164 application/x-javascript 164 application/x-shockwave-flash 164 ARCHIVE attribute APPLET element 14 AREA element 16–19 audio/aiff 161 audio/basic 161 audio/wav 162 audio/x-aiff 161 B B element 20 26 BACKGROUND attribute BODY element 53 109 TABLE element 122 TD,TH elements 130 background sounds 173 BASE attribute Flash movies 176 BASE element 20–21 BASEFONT element 21–22 BEHAVIOR attribute TD,TH elements 131 BGCOLOR attribute BODY element 26 Flash movies 176 SELECT element 109 TABLE element 122 TD,TH elements 132 TEXTAREA element 138 TR element 141 BGSOUND element 22–23, 173 BIG element 23 BLINK element 24 BLOCKQUOTE element 24 BODY element 25–31 BORDER attribute FRAMESET element 53 IMG element 63 TABLE element 122 BORDERCOLOR attribute FRAME element 49 FRAMESET element 53 BR element 31 SELECT element FRAMESET element JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 187 broadcast 93 broadcast streams 169 DIR element 36 131 DIRECTION attribute TD,TH elements DISABLED attribute C CAPTION element TABLE element TABLE element CENTER element CHARSET attribute LINK element CITE attribute BLOCKQUOTE element CITE element CLEAR attribute BR element CODE attribute 32–33 122 CELLPADDING attribute CELLSPACING attribute 122 33 83 24 34 31 99 109 TEXTAREA element 139 DIV element 37–38 DL element 39 DOWN attribute A element 10 AREA element 19 DT element 39 DYNAMICCOLS attribute TABLE element 124 SELECT element OPTION element E EM element 40 40 47 14 CODE element 34–35 CODEBASE attribute APPLET element 14 COLOR attribute BASEFONT element 22 FONT element 43 COLS attribute FRAMESET element 54 TABLE element 124 TEXTAREA element 139 COLSPAN attribute TD,TH elements 132 COMPACT attribute DIR element 36 DL element 39 MENU element 85 OL element 97 UL element 145 CONTENT attribute META element 87 COORDS attribute AREA element 18 APPLET element EMBED element ENCTYPE attribute FORM element F FACE attribute BASE element FONT element 22 43 Flash movies 175 FOCUSABLE attribute TD,TH elements 133 TEXTAREA element 139 FONT element 40–44 FORM element 44–48 FRAME attribute TABLE element 125 FRAME element 48–50 FRAMEBORDER attribute FRAME element 49 FRAMESET element 53 FRAMESET element 51–55 G goto: protocol 169 D DD element 35 DFN element 36 H H1-H6 elements 56–57 188 INDEX JANUARY 2002 HEAD element 57 K KBD element HEIGHT attribute 80 15 Flash movies 180 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 HIGHLIGHTABLE attribute A element 9 Flash movies 177 TABLE element 126 TD,TH elements 134 HISTORY attribute META element 87 HR attribute SIZE element 58 HR element 57–58 HREF attribute A element 10 AREA element 18 BASE element 21 LINK element 83 HSPACE attribute APPLET element 15 IMG element 63 TABLE element 126 HTML element 59 HTTP-EQUIV attribute META element 87 APPLET element L LANGUAGE attribute SCRIPT element LAYER attribute BODY element DIV element 105 27 37 H1-H6 elements 57 IMG element 64 P element 100 TABLE element 127 LAYER element 80 LEFT attribute A element 10 AREA element 19 LI element 81–82 LINK attribute BODY element 27 LINK element 82–84 linked sounds 173 LISTING element 84 LOOP attribute BGSOUND element 23 embedded sounds 174 Flash movies 177 TD,TH elements 131 LOWSRC attribute IMG element 65 I 59 I-frames 26, 27, 37, 64, 80, 100, 127 image/gif 163 image/jpeg 163 image/png 163 IMG element 60–66 INITIALFOCUS attribute META element 91 INPUT element 67–78 ISINDEX element 78–79 ISMAP attribute IMG element 64 I element M Macromedia Flash 175 MAP element 84 MARGINHEIGHT attribute FRAME element 49 MARGINWIDTH attribute FRAME element 49 mcast: protocol 169 Mediacast 169 MENU element 85 META element 86–93 METHOD attribute FORM element 47 MULTIPLE attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 189 SELECT element 109 POPUPBG attribute SELECT element 110 N NAME attribute POPUPDIRECTION attribute A element 11 APPLET element 15 AREA element 19 Flash movies 177 FORM element 48 FRAME element 49 IMG element 65 MAP element 85 META element 92 PARAM element 101 SELECT element 110 TABLE element 127 TEXTAREA element 139 NOBR element 93 NOFRAMES element 95 NOHREF attribute AREA element 18 NORESIZE attribute FRAME element 50 NOSCRIPT element 95 NOSHADE attribute HR element 58 NOWRAP attribute TD,TH elements 135 110 102–103 PROMPT attribute ISINDEX element 79 protocols goto: 169 http: 171 https: 171 javascript: 171 mcast: 169 tv: 165 PRE element SELECT element Q QUALITY attribute Flash movies 178 R refresh, automatic 90 REL attribute A element 11 LINK element 83 REV attribute A element 11 LINK element 83 RIGHT attribute A element 10 AREA element 19 ROWS attribute TEXTAREA element 140 ROWSPAN attribute TD,TH elements 135 RULES attribute TABLE element 128 O OL element 96–98 98–99 OVERSCAN attribute BODY element 27 FRAMESET element 55 OPTION element P P element 99–100 101 P-frames 64, 127 PLAINTEXT element 102 PLAY attribute Flash movies 178 PLUGINSPAGE attribute Flash movies 178 PARAM element S S element 103 SALIGN attribute Flash movies 178 103 SCALE attribute Flash movies 179 SCHEME attribute SAMP element 190 INDEX JANUARY 2002 93 104–105 SCROLLAMOUNT attribute TD,TH elements 131 SCROLLDELAY attribute TD,TH elements 131 SCROLLING attribute FRAME element 50 SCROLLSTOP element 105 SELBGCOLOR attribute SELECT element 111 SELECT element 106–111 SELECTED attribute OPTION element 99 SELTEXT attribute SELECT element 111 SHAPE attribute AREA element 19 SIZE attribute BASE element 22 FONT element 44 SELECT element 111 SPACER element 113 SMALL element 111 SPACER element 112–113 SRC attribute BGSOUND element 23 Flash movies 179 FRAME element 50 IMG element 65 SCRIPT element 105 START attribute OL element 97 STRIKE element 114 STRONG element 114 STYLE attribute DIV element 38 SUB element 115 SUP element 115 SCRIPT element META element A element 11 19 21 FORM element 48 TD,TH elements 129–136 TEXT attribute BODY element 30 SELECT element 111 TEXTAREA element 137–140 text/html 160 text/plain 160 TITLE element 140 TR element 141–142 TT element 142 tv: protocol 165 TYPE attribute LI element 81 LINK element 84 OL element 98 SPACER element 113 UL element 145 BASE element AREA element U U element UI attribute 143 Flash movies 179 UI sound 173 UL element 143–145 UP attribute A element 10 AREA element 19 USEMAP attribute IMG element 66 user interface sound 173 V VALIGN attribute TD,TH elements VALUE attribute LI element TEXTAREA element 136 142 T TABLE element 82 99 101 116–128 94 OPTION element PARAM element VAR element tables resizing images TARGET attribute 145 VLINK attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 191 BODY element VSPACE attribute 31 APPLET element IMG element 15 66 TABLE element 126 W WBR element 146 WIDTH attribute 15 Flash movies 180 HR element 58 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 WRAP attribute PRE element 103 TEXTAREA element 140 APPLET element X XMP element 146 192 INDEX JANUARY 2002 California Member-Managed LLC Operating Agreement$19.95 Acknowledgment of Independent Contractor$8.95 Artist-Agent Engagement Agreement$8.95 Website Design Non-Disclosure$14.95 Employee Handbook for Company$39.95 Limited Liability Partnership Agreement$29.95 Office Lease Agreement$8.95 Other docs by Alex Cameron Using Eq Views: 118 | Downloads: 6 The Sectret of the mastering engineer Views: 128 | Downloads: 8 Recording Real Drums Views: 112 | Downloads: 9 Recording Lead Vocals Views: 141 | Downloads: 6 Recording in One Room Views: 105 | Downloads: 9 Recording Bass Guitar Views: 133 | Downloads: 8 Recording Acoustic Guitar Views: 113 | Downloads: 5 Practical Mixing Views: 80 | Downloads: 1 MediaFinance94 Views: 165 | Downloads: 2 iTV is dead_ Long live IPTV - Broadcast Engineering-Digital TX Limited _www.digitaltx.tv_ Views: 77 | Downloads: 1 IPTV-VoD.The.World.Thats.On.Its.Way-Digital.TX.Limited._www.digitaltx.tv_ Views: 63 | Downloads: 2 IPTV-VoD.The.Hare.And.The.Tortoise-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 79 | Downloads: 0 IPTV-VoD.The.Fall.Of.Contents.Kingdom-Digital.TX.Limited._www.digitaltx.tv_ Views: 48 | Downloads: 1 IPTV-VoD.Fast.Forward.To.Christmas.Future-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 58 | Downloads: 1 IPTV-VoD.Bursting.The.PPV.Bubble-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 62 | Downloads: 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Overview . . . Variations . Attributes . . . wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 103 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 language="Javascript" src="URL" Overview Use the SCRIPT element as a container for coded scripts. TV Navigator Standard is the only version that support scripting, and it supports only the JavaScript language. Multiple script elements can appear in a document, and/or the script can be located in an external document that is linked via the SRC attribute. For example: ... If you insert a script inside a framesetting document (refer to the FRAMESET element), the functions defined by the script are available to all of the subdocuments defined by the contained FRAME elements. Variations The SCRIPT element is only supported in TV Navigator Standard 1.x. 104 USAGE: ATTRIBUTES: s1 yes c3 no none Marks targets for scrolling. By default, a document scrolls in frame-sized chunks, but the SCROLLSTOP element can be used to split it into smaller pieces. Each time the user scrolls up or down, another successive portion of the document is brought into view. Scrolling stops when either one of the following occurs: • One or two lines that used to be at the top of the viewing frame are at the bottom, or one or two lines that used to be at the bottom of the frame are at the top. • The contents of the document immediately following a SCROLLSTOP element are flush with the top of the viewing frame. For example, SCROLLSTOP could be inserted before each TR element in a table so that the table would scroll one row at a time. Note that scrolling never skips over any of the document. The SCROLLSTOP tag cannot be used to force scrolling in chunks larger than the frame where the document is displayed. Variations The SCROLLSTOP element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 105 USAGE: ATTRIBUTES: s1 yes c3 no ... align="position" background="url" bgcolor="color" disabled multiple name="string" popupbg="url" popupdirection=["up" | "down" | "auto"] selbgcolor="color" seltext="color" size="rows" text="color" onblur="JavaScript" onfocus="JavaScript" onchange="JavaScript" EVENT HANDLERS: Overview The SELECT element creates a pop-up menu of OPTION elements. The OPTION elements are nested inside the opening and closing tags of SELECT. SELECT appears inside the FORM element, and its NAME attribute is part of the name-value pair submitted with the form. The submitted value comes from the VALUE attribute of the selected OPTION element. For example: Color: <Select One> Red Orange Yellow Green In TV Navigator, this example would look like Figure 20: 106 CHAPTER 2: HTML REFERENCE JANUARY 2002 Before Focus During Focus Figure 20: SELECT Element in TV Navigator, Default Attributes When the SELECT element allows users to select more than one option (the MULTIPLE attribute is set) or if it displays more than one option (the SIZE attribute is set to a value greater than 1), there is no pop-up. The SELECT element displays all the options, scrolling them if necessary. TV Navigator Enhancements The TEXT, BGCOLOR, and BACKGROUND attributes affect both the SELECT element itself and its popup list, if there is one. The TEXT, BGCOLOR, and BACKGROUND attributes work just like their counterparts for the BODY element: • The TEXT attribute specifies the color used to draw OPTION element text. It applies to all text in the SELECT display and the pop-up list. If not set, the color defaults to black. • The BGCOLOR attribute specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be “transparent”. If a background color isn’t set, it defaults to light grey. • The BACKGROUND attribute can be set to a URL for an image to display in the background of the SELECT element. It applies only to that element, not the pop-up list. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. In both cases, the image is tiled to fill the entire area displayed and cropped to fit. The height of the SELECT element is determined by the SIZE attribute, which defaults to 1. The height of the pop-up list is determined by the number of options. A maximum of six items are displayed; if there are over six items, the list scrolls. The widths of both the element and its pop-up list are determined by the width of the widest option (the widest text string). If a background color (BGCOLOR) and a background image (BACKGROUND or POPUPBG) are both set, the color is drawn first and the image is placed on top, so that transparency in the image lets the background color show through. For example, this HTML code would show the background color in the SELECT display and an image, possibly against that color, in the pop-up list: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 107 The SELTEXT and SELBGCOLOR attributes are similar to TEXT and BGCOLOR, except that they specify the colors used to highlight an option when it’s selected: • The SELTEXT attribute sets the color used to display the text of a selected option. The default color is white. • The SELBGCOLOR attribute specifies a background color for the selected option. It defaults to a dark grey. This example is a modification of the SELECT element from the previous example: ... <Select Two> ... The result is a selection list (not a pop-up menu) with multiple selections and a green background for the selected items, as shown in Figure 21: Before Focus During Focus Figure 21: SELECT Element in TV Navigator, Advanced Attributes Variations • The SELECT element is not supported in TV Navigator Compact. • The POPUPDIRECTION attribute of the select element is only supported by TV Navigator Standard 1.2.7.3 and above. It is not supported by 1.3 or 1.5. 108 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of the SELECT element in relation to its surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. For example: background SYNOPSIS: DESCRIPTION: background="URL" Sets the URL for an image to display in the background of the SELECT element. To put a background image in a pop-up list, use the POPUPBG attribute instead of BACKGROUND. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Specifies a color to display in the background of the SELECT element and the pop-up list it controls. Currently, the color cannot be "transparent". If a background color isn’t set, it defaults to light grey. disabled SYNOPSIS: DESCRIPTION: disabled Disables the SELECT element, and prevents it from receiving focus. multiple SYNOPSIS: DESCRIPTION: multiple If the MULTIPLE attribute is set, TV Navigator renders the SELECT element as a list box instead of a pop-up list. If necessary, TV Navigator will scroll the list to display all options. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 109 name SYNOPSIS: DESCRIPTION: name="string" Sets the name portion of the name-value pair submitted with the FORM data. popupbg SYNOPSIS: DESCRIPTION: popupbg="url" Places a background image in a SELECT pop-up list. popupdirection SYNOPSIS: DESCRIPTION: popupdirection=["up" | "down" | "auto"] TV Navigator uses a fixed algorithm to determine the pop-up direction of a SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. An additional attribute of the SELECT element specifies the preferred drawing direction of the pop-up. The POPUPDIRECTION attribute supports the following values: up The pop-up is drawn upwards from the SELECT element, if there is enough space to do so. down The pop-up is drawn downwards from the SELECT element, if there is enough space to do so. auto This is the default behavior of the SELECT element. If the SELECT element is located in the top half of the window, the pop-up is drawn downwards, if possible. In the bottom half of the window, the pop-up is drawn upwards. AVAILABILITY: Introduced in TV Navigator Standard 1.2.7.3. Not available in TV Navigator 1.3 or TV Navigator 1.5. 110 CHAPTER 2: HTML REFERENCE JANUARY 2002 selbgcolor SYNOPSIS: DESCRIPTION: selbgcolor="color" Specifies the color to use as a background for selected options. The default value is a dark grey. seltext SYNOPSIS: DESCRIPTION: seltext="color" Specifies the color of the text for selected options. The default value is black. size SYNOPSIS: DESCRIPTION: size="rows" Sets the number of rows to display. If SIZE is set to greater than 1, the SELECT element changes from a pop-up menu to a list box. text SYNOPSIS: DESCRIPTION: text="color" Specifies the color used to draw the OPTION element text. It applies to all text in the SELECT element and the pop-up list. If TEXT is not set, the color defaults to black. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The SMALL element decreases the size of the enclosed text by moving down one value in the 1-7 scale. SMALL elements can be nested for a cumulative effect. For more information on font sizing, refer to the SIZE attribute of the FONT element. For example: This is normal text.This is one size smaller. This is normal text again. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 111 USAGE: ATTRIBUTES: s1 yes c3 no align="position" height="pixels"; width="pixels" size="pixels" type=["block" | "horizontal" | "vertical"] Overview The SPACER element creates a block of background-colored (invisible) space that can help position elements on the page. The TYPE attribute lets you define three kinds of spacers: • type="block". This is a rectangular spacer that moves subsequent elements vertically and horizontally. • type="horizontal". This spacer adds a block of horizontal space on the same line of text. • type="vertical". This spacer adds a block of vertical space between lines of text. Figure 22 shows a block of text containing the three spacer types (spacers are shown colored and outlined for illustrative purposes). Figure 22: SPACER Elements in TV Navigator Standard 112 CHAPTER 2: HTML REFERENCE JANUARY 2002 Variations The SPACER element is not supported in TV Navigator Compact. Attributes align SYNOPSIS: DESCRIPTION: align="position" The ALIGN attribute determines the position of block-type SPACER elements in relation to surrounding text. The values of position are identical to those for the ALIGN attribute of the IMG element. height, width SYNOPSIS: height="pixels" width="pixels" The HEIGHT and WIDTH attributes control the size of type="block" SPACER elements. TV Navigator may find it necessary to alter the size of SPACER elements to make content fit. For more information, refer to the NOBR element. DESCRIPTION: size SYNOPSIS: DESCRIPTION: size="pixels" The SIZE attribute sets the width of type="vertical" SPACER elements and the height of type="vertical" spacer elements. type SYNOPSIS: DESCRIPTION: type=["block" | "horizontal" | "vertical"] Sets the behavior of the SPACER element. If you set type="block", you must specify both HEIGHT and WIDTH attributes. If you set type="horizontal" or type="vertical", you must specify the SIZE attribute. There is no default setting. For example: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 113 USAGE: ATTRIBUTES: s1 yes c3 no ... ... none The STRIKE element renders all text contained between the opening and closing tags with a strikethrough line. It is identical to the S element. For example: Tonight’s menu features ginger-pineapple cous-cous served on a bed of organic wilted dandelions. Variations The S and STRIKE elements are not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The STRONG element renders all text contained between the opening and closing tags as bold. It is similar to the EM element. For example: The rain in Spain falls mainly on the plains. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 114 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUB element renders all text contained between the opening and closing tags as subscript. Variations The SUB element is not supported in TV Navigator Compact. USAGE: ATTRIBUTES: s1 yes c3 no ... none The SUP element renders all text contained between the opening and closing tags as superscript. Variations The SUB element is not supported in TV Navigator Compact. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 115 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] background="URL" bgcolor="color" border="pixels" cellpadding="pixels" cellspacing="pixels" cols="number" dynamiccols="number" frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] height=["pixels" | "percent"]; width=["pixels" | "percent"] highlightable hspace="pixels"; vspace="pixels" layer=["background" | "middle" | "foreground"] name="string" rules=["all" | "cols" | "groups" | "none" | "rows"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview Tables allow you to arrange data into rows and columns of cells, and also perform basic layout tasks. Table cells in TV Navigator can hold any content that a BODY element can hold: text, images, forms, and even the television picture. TV Navigator Standard (all versions) also supports dynamic tables—tables the user can navigate, and that JavaScript can modify at run time. Dynamic table cells, however, are limited to plain text. No images, hypertext links, embedded tables, or other HTML elements are allowed. For more information, refer to “Dynamic Tables” on page 120. 116 CHAPTER 2: HTML REFERENCE JANUARY 2002 Table Structure The structure of a table is highly specific. At minimum, a TABLE element holds a set of TR row elements, which in turn hold a set of TD cell elements. Optionally, the TABLE element can also include a row of TH heading cells and/or a CAPTION. For example, the following code creates a table like the one shown in Figure 23: This is the caption Head 1Head 2Head 3 cell 1cell 2cell 3 cell 4merged cells cell 7cell 8cell 9 default border is 2 pixels wide Figure 23: Basic Table Structure Note that end tags are not required for any of the table subelements. Row elements terminate automatically at the start of another row element, and cell elements terminate at the start of another cell or a row element. Table Position and Size The position of a TABLE element on the page is determined by the ALIGN, HSPACE, and VSPACE attributes. If these attributes are not specified, the table assumes the position a paragraph element would have in the same spot in the document. Figure 24 shows how the HSPACE and VSPACE attributes affect spacing from adjacent page elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 117 Paragraph element above... vspace cell 1 hspace cell 4 cell 2 cellspacing cellpadding cell 3 cell body cell margin merged cells table margin table caption vspace Paragraph element below... Figure 24: Table and Cell Positioning Several factors determine the size of the TABLE element and its subelements in TV Navigator: • First and foremost are the values of the HEIGHT and WIDTH attributes. You specify values for these in pixels (absolute size) or in a percentage of the visible container. The “container” can be the entire safe area of the screen, part of the screen defined by a FRAME element, or even another TD table cell. The values of height and width are taken as suggestions only— TV Navigator makes automatic adjustments to tables to ensure proper layout on the television screen. For more information, refer to the HEIGHT attribute of TABLE. • The number of rows in the table, and the number of cells in each row. Because horizontal scrolling is not allowed, TV Navigator will squeeze wide tables to fit in the allowable space. However, vertical scrolling is allowed, and long tables with many rows will be split into multiple screens. • The size of individual TD cell elements. TV Navigator establishes a minimum size for the cell—generally the smallest size possible while preserving legibility. The setting of the cell TD HEIGHT attribute can only increase the size of the cell; the height of the cell cannot be made smaller than the automatic minimum size. Cell size is also affected by the value of the TABLE CELLPADDING attribute (see Figure 24), which adds additional space between the cell body and the cell margin. • The value of the TABLE attribute CELLSPACING (see Figure 24), which inserts additional space between cell margins. The BORDER, CELLSPACING, and CELLPADDING attributes interact in TV Navigator. For more information, refer to the description of the BORDER attribute. 118 CHAPTER 2: HTML REFERENCE JANUARY 2002 Color Layering in Tables Color in TV Navigator tables works differently than you may expect. Tables, rows and cells are arranged in layers, each with a settable BGCOLOR attribute. By default, the BGCOLOR of all table components is transparent, allowing any color or image defined in a lower layer to show through to upper layers as shown in Figure 25. direction of transparency Figure 25: Layering of Background Colors in Tables Thus, if you set the table background color (for example, ), you cannot make a single TD cell transparent to the TV image in the BODY background. The only way to achieve this effect would be to leave the table transparent, and then set the BGCOLOR of each cell in the table explicitly. For more information about transparency, refer to “Transparent Backgrounds” on page 156. It is also possible to simultaneously set the background image and the background color for both tables and table cells. In the TV Navigator layering model, the TABLE BGCOLOR is in a layer above the BACKGROUND image for the table. If you set both TABLE BACKGROUND and BGCOLOR, you will see the background image peeking out from the spaces created by the CELLSPACING attribute. The opposite is true in table cells. When both TD (or TH) BGCOLOR and BACKGROUND are set, the background image for the cell appears in a layer above the background color. If the image in the cell is partially transparent, the background color for the cell will show through the transparent areas. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 119 HTML Error Correction According to strict HTML syntax, all table content must be placed inside TD or TH elements. If any content is outside these elements, but inside the TABLE element, TV Navigator automatically adds a TD element to contain the misplaced content. Variations TV Navigator Compact supports the nonstandard LAYER attribute, which determines the rendering level of the table and its contents. TV Navigator Compact does not support any dynamic table features. Dynamic Tables The information in this section applies only to the HTML aspects of dynamic tables. To fully explore the possibilities of dynamic tables you must use JavaScript. Refer to the Table object and Cell object descriptions Content Developer’s Reference (or the Liberate JavaScript Reference, when available). The following attribute descriptions in this reference also provide helpful information: • Dynamic table attributes: DYNAMICCOLS, HIGHLIGHTABLE, and NAME • Dynamic TD cell attributes: BEHAVIOR, FOCUSABLE, and HIGHLIGHTABLE Limitations on Content As it’s set up in HTML, a dynamic table is indistinguishable from any other table (except that it has a name). It can contain anything that any other table can—images, multiple fonts in one cell, and even other tables. However, the dynamic content that JavaScript can place in a table cell is limited to plain text. No images, forms, hypertext links, embedded tables, or other HTML elements are allowed. JavaScript can place new text in a cell, but the new text cannot contain any HTML tags. Even character entities (like and &") and elements that format the text (like TT and BR) are not permitted. At present, TV Navigator doesn’t have dynamic access to the static content of a cell (the content assigned in HTML), even if that content is plain text. For example, it can change the color of text that JavaScript puts in a cell, but it can’t modify the color of text assigned with the TD element. Similarly, JavaScript cannot scroll any text placed in cells when the table was set up 120 CHAPTER 2: HTML REFERENCE JANUARY 2002 in HTML. A cell’s static content is wiped away when the cell is first dynamically modified in any way. If you intend a table to be dynamic, you generally would not assign it images and other elements that would be very different from the contents it can display dynamically. It usually makes the most sense to simply lay out the table and assign font characteristics in HTML, but provide all the content through JavaScript. Even the initial content the user sees can be set dynamically, in an onload() handler. Font Attributes of Cells Because JavaScript disallows even HTML elements that format text (such as B and TT), it cannot modify the font used to display text in table cells. Each cell retains the font characteristics that it was assigned when it was set up in HTML. You can use any of the following elements to format content in a cell when you define the table: B BIG CITE CODE EM FONT I KBD S SAMP SMALL STRIKE STRONG TT U VAR However, these elements set cell formats only if they appear before the first character of text in the cell. For example, the following code sets up a row in a dynamic table: first second third . . . In this example, whatever text JavaScript places in these cells will adopt the specified font characteristics—bold in the first cell, plain text in the second, and both underlined and italic in the third. These attributes stay with the cell and cannot be changed. However, if the font elements appear after the first character, they format the static text that HTML puts in the table, but don’t affect any text subsequently written to the cell. The only font attribute that escapes this restriction is the color of the text. It can be modified at any time through JavaScript. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 121 Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] The ALIGN attribute sets the horizontal alignment of the table relative to its container (BODY element or TD/TH table cell). background SYNOPSIS: DESCRIPTION: background="URL" Allows you to specify an image to use as the background of the TABLE element. For example: TV Navigator positions the image in the upper left corner of the table and tiles the image to fill the space. The image is never scaled. If both BACKGROUND and BGCOLOR are set for the table, the background image appears below the apparent background color—the image only appears if the CELLSPACING attribute is large enough to separate the cells. The value of URL can also take the color: protocol, and when used that way it functions exactly like the BGCOLOR attribute. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color of the TABLE element. This is equivalent to setting the background color for all of the cells of the table. The value of color can be any valid color name or hexadecimal value. Also see the BACKGROUND attribute. border, cellpadding, cellspacing SYNOPSIS: border="pixels" cellpadding="pixels" cellspacing="pixels" The BORDER and CELLSPACING attributes of the TABLE element interact to some extent, due to TV Navigator’s policy of avoiding horizontal lines that are DESCRIPTION: 122 CHAPTER 2: HTML REFERENCE JANUARY 2002 1-pixel-wide whenever possible. The policy is aimed at reducing on-screen flicker. The BORDER attribute specifies grid lines around each cell, around the CAPTION if there is one, and around the entire table. For TV Navigator, these lines are either 1 pixel wide or they don’t exist. You have no control over border width. Add a border by giving the TABLE element a BORDER attribute without a value, or by using any value other than 0: Eliminate the border by removing the BORDER attribute or setting it to 0: The CELLSPACING attribute is the amount of space (in pixels) lying between the cells in a table, and between the edge of the table and the cells. The space is transparent, so it lets the background behind the table (not the table background) show through. If a table has a border, TV Navigator doesn’t display any space between cells, no matter what the CELLSPACING setting is. This forces the grid lines around adjacent cells (and around the caption and the whole table) to lie right next to each other, without any intervening space. The grid lines are 1 pixel wide, so the cell borders appear to be 2 pixels wide (1 pixel contributed by each cell). In effect, if you choose a bordered table, you’re choosing a 2-pixel-wide border with no space between the cells. If a table does not have a border, CELLSPACING can be set to any value, including 0. For the TV Navigator Standard, the default value is 2 pixels. However, in its attempt to avoid 1-pixel-wide lines, TV Navigator Standard doesn’t honor a CELLSPACING setting of 1. If cells could be separated by a single pixel, the separation might appear as a line 1 pixel wide. Imagine, for example, cells with a red background displayed over a green page. Thin green lines would separate the red cells. Therefore, if CELLSPACING is set to 1, TV Navigator increases the space to 2 pixels. The CELLPADDING attribute determines the width of the margin (in pixels) that separates the contents of a cell from the cell’s edge. Here, again, TV Navigator will not honor a setting of 1. If a 1-pixel margin is specified, 2 pixels are used. This prevents the margin from appearing as a 1-pixel-wide line when, for example, the cell has a background color and the content of the cell is a rectangular image. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 123 VARIATIONS: In TV Navigator Compact, the border does not render if the table is in the foreground layer of the page. cellpadding see border cellspacing see border cols SYNOPSIS: DESCRIPTION: cols="number" The intent of this attribute is to inform TV Navigator how many columns there are in the table. In a long table this may accelerate the layout time. If the table is dynamic (has the NAME attribute set), you must use the DYNAMICCOLS attribute instead. dynamiccols SYNOPSIS: DESCRIPTION: dynamiccols="number" TV Navigator ensures that each row in a dynamic table will have at least the DYNAMICCOLS number of TableCell objects. A row has one TableCell object for each TD or TH element assigned to the row in HTML, or the number of objects specified by DYNAMICCOLS, whichever is greater. The number of TableCells for the row is fixed when the table is set up; TV Navigator currently cannot produce new TableCell objects on the fly. This attribute therefore permits you to set up a dynamic table with cells spanning more than one column, like the one in Figure 26. For example: one plus two three one two plus three one two three 124 CHAPTER 2: HTML REFERENCE JANUARY 2002 one plus two one one two three three two plus three Figure 26: Spanning in a Dynamic Table When the column spans are reduced and more cells are needed in the first two rows, the TableCell objects will be available, because the TABLE element specified a minimum of three cells per row. The DYNAMICCOLS attribute has second purpose: It lets JavaScript know the minimum number of cells to scroll. If this attribute is not set, table scrolling will not work. Therefore, it should be set whether or not any cells span more than one column in the initial table. AVAILABILITY: Not available in TV Navigator Compact. frame SYNOPSIS: frame=["above" | "below" | "border" | "box" | "hsides" | "lhs" | "rhs" | "void" | "vsides"] The FRAME attribute determines which outside borders are drawn (see Figure 27). This attribute is planned for a future release of TV Navigator. default above below border box DESCRIPTION: hsides lhs rhs void vsides For clarity, inner borders are not shown, but are present by default. Figure 27: Behavior of the FRAME Attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 125 height, width SYNOPSIS: height=["pixels" | "percent"] width=["pixels" | "percent"] The WIDTH attribute of the TABLE element is taken only as a suggestion. TV Navigator usually respects it as a minimum, but may find it necessary to make the table wider or narrower, as follows: • Tables that are too wide for the screen are reduced in size so they fit, regardless of the WIDTH specified. • Because the default font size is larger for TV Navigator than for other browsers, it sometimes takes more space to display a table than the WIDTH specification allows. If necessary, the table is resized, ignoring the requested table width. If a table is located in a document, percentage specifications of its WIDTH and HEIGHT are relative to the frame that contains the document. However, if a table is embedded within another table, the percentages are relative to the size of the cell where it’s located. If the size of that cell isn’t explicitly given in HTML, the percent size of the inner table is completely ignored. Note that the table border (the BORDER attribute), the spacing between cells (the CELLSPACING attribute), and the padding within a cell (the CELLPADDING attribute) all take space from the specified WIDTH and HEIGHT. DESCRIPTION: highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set HIGHLIGHTABLE for all cells in the table. The settings for individual cells override the TABLE setting. For more information, refer to the TD HIGHLIGHTABLE attribute. Not available in TV Navigator Compact. AVAILABILITY: hspace, vspace SYNOPSIS: hspace="pixels" vspace="pixels" Use the HSPACE and VSPACE attributes to add a margin of empty (backgroundcolored) space between the table and adjacent content (see Figure 24). HSPACE DESCRIPTION: 126 CHAPTER 2: HTML REFERENCE JANUARY 2002 adds a margin to the left and right of the table; VSPACE does the same for the top and bottom of the table. layer SYNOPSIS: DESCRIPTION: layer=["background" | "middle" | "foreground"] Specifies the rendering layer for the TABLE element. Any setting for the table applies to all of its contents, except for nested tables, which may have a higher layer setting. background The table is rendered as part of the background to an MPEG I-frame. middle The contents of the TABLE element are sent to the set-top box as MPEG P-frames (images) and overlays (text). The P-frame is built from 16-pixel macroblocks that contain the image and any background pixels around the image if the image is not exactly aligned on 16-pixel boundaries (which is true for most cases). foreground If layer="foreground", the behavior is identical to layer="middle". Note that this behavior may change in futures versions of the client. If the BODY element is in the foreground, any contained TABLE elements must be in the foreground as well, and will be rendered as P-frames (for images) and overlays (for text) above the background I-frame. Care must be taken to avoid overlapping P-frames. Use the Compact Layout Tool to check for overlapping P-frames. If overlapping is detected, the content must be corrected accordingly. AVAILABILITY: Available in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute assigns a name to the JavaScript object for the table: This also signals that you want the table to have dynamic behavior. VARIATIONS: Previously, tables in TV Navigator Standard 1.x without NAME attributes were not dynamic. Now all tables in Standard 1.x are dynamic (excluding Standard JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 127 1.1). Tables in TV Navigator Compact are not dynamic, and do not support the NAME attribute. rules SYNOPSIS: DESCRIPTION: rules=["all" | "cols" | "groups" | "none" | "rows"] The RULES attribute determines which interior borders are drawn, as shown in Figure 28. This attribute is planned for a future release of TV Navigator. default all cols groups none rows Figure 28: Behavior of the RULES attribute vspace see hspace width see height 128 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... ... align=["center" | "char" | "justify" | "left" | "right"] background="URL" behavior=["scroll" | "slide" | "alternate"] bgcolor="color" colspan="number" direction=["left" | "right"] focusable=["true" | "false"] height="pixels"; width="pixels" highlightable=["true" | "false"] loop=["number" | "-1" | "infinite"] nowrap rowspan="number" scrollamount="pixels" scrolldelay="milliseconds" valign=["bottom" | "middle" | "top" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TD element represents a table cell, and as such it is a subelement of the table row TR element, which in turn is a subelement of the TABLE element. The TH element is a special kind of table cell that functions as a table header. For more information about the placement of TD and TH cells in the overall table structure, refer to the TABLE element. Both TD and TH elements can contain any content that can be held by the BODY element, including text, images, hyperlinks, and embedded objects (when supported). While end tags are not required because a TD cell terminates at the start of any other TABLE element, they are recommended. The attributes of TD and TH are identical, and include a number of Liberate-only extensions. The first group of extended attributes creates animated effects. For more information about these animation attributes, refer to the complete description under the BEHAVIOR attribute. The second group of attributes makes table cells dynamic, allowing them to accept user focus JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 129 (FOCUSABLE) and be highlighted by the focus ring (HIGHLIGHTABLE). These dynamic attributes only work on versions of TV Navigator that have dynamic table abilities. Variations TV Navigator Compact does not support dynamic table elements. Attributes align SYNOPSIS: DESCRIPTION: align=["center" | "left" | "right"] Sets the horizontal alignment of content for the TD cell. background SYNOPSIS: DESCRIPTION: background="URL" The BACKGROUND attribute specifies an image file to use as a page background. The URL parameter can point to any .jpg, .png, or .gif image file. If the image is smaller than the cell, the image will be tiled. GIF images with transparent areas will display the BGCOLOR of the cell through the transparent areas. You can put the television image in the background of a cell by assigning the tv: URL to the BACKGROUND attribute. TV Navigator also allows the URL to be assigned using the color: protocol. For example: This is identical to the following: 130 CHAPTER 2: HTML REFERENCE JANUARY 2002 behavior, direction, loop, scrollamount, scrolldelay SYNOPSIS: behavior=["scroll" | "slide" | "alternate"] direction=["left" | "right"] loop=["number" | "-1" | "infinite"] scrollamount="pixels" scrolldelay="milliseconds" These five attributes animate text within a cell. The presence of any one of them is sufficient to cause cell text to move; a default value is used for any of the five that isn’t explicitly set. However, if none of the five attributes is set, the text in the cell won’t be animated. Text can be assigned to the cell in HTML or with the JavaScript TableCell.write() method. It’s limited to a maximum of 4 kilobytes. The BEHAVIOR attribute says how the text is to move. There are three sanctioned values: DESCRIPTION: • For "scroll", the cell starts out empty. Text scrolls into view from one side, moves through the cell, and exits on the other side. It then begins over again. This is the default setting of BEHAVIOR. • For "slide", the text also begins off to one side. It scrolls into view and stops before the first character can exit the other side. • For "alternate", the text bounces from one side of the cell to the other and back again. The DIRECTION attribute indicates the direction the text should scroll, slide, or move before its first bounce. It can be either "left" or "right": The default is "left". The LOOP attribute is the number of times the text will scroll past the user, slide into place, or bounce from side to side. It can be set to a specific number or, for continuous animation, to either "-1" or "infinite": The default LOOP is "infinite". JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 131 The SCROLLAMOUNT attribute is the number of pixels the text should move horizontally each time it’s redrawn, and SCROLLDELAY is the number of milliseconds separating one redraw from the next. Together they determine how smoothly and how fast the text moves. The default SCROLLAMOUNT is 4 pixels, and the default SCROLLDELAY is 66 milliseconds. VARIATIONS: These attributes are not supported in TV Navigator Compact. bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the cell. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE or TR element to show through to the cell in the row. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” SEE ALSO: BACKGROUND attribute. colspan SYNOPSIS: DESCRIPTION: colspan="number" The COLSPAN attribute indicates the number of columns that the current TD cell should merge to the right. Every row that contains a COLSPAN merged cell from above will need (number - 1) fewer TD cells. For example, the following table: merged cells The resulting table looks like this: merged cells 132 CHAPTER 2: HTML REFERENCE JANUARY 2002 direction SYNOPSIS: DESCRIPTION: direction=["left" | "right"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute on page 131. focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] A cell in a dynamic table can take input focus and be selected by the user—if the cell’s FOCUSABLE attribute is set to "true" or is simply present without an assigned value. If the attribute is absent or set to "false", the cell cannot take the focus. As the user navigates from cell to cell, the focus will jump over it. To see the standard focus rectangle around the cell, you must also set the HIGHLIGHTABLE attribute for the cell or the table. To create a custom highlighting effect, you can use the onfocus and onblur event handlers for the cell. The focusability of a cell can be changed dynamically through a JavaScript TableCell property that matches this attribute. VARIATIONS: This attribute is not supported in TV Navigator Compact. height, width SYNOPSIS: height="pixels" width="pixels" To make tables fit within the width of the screen, TV Navigator may reduce the size of cells, ignoring the values set for the WIDTH attribute. Normally, WIDTH is taken as a minimum. Computer-oriented browsers widen a cell beyond the width specified if it’s necessary to display the contents of any cell in the same column (because all cells in a column have the same width). However, they don’t reduce a cell below the requested WIDTH and HEIGHT. TV Navigator tries to honor the requested WIDTH, but will reduce it if that’s the only way to keep everything in view and avoid horizontal scrolling. This can especially affect empty cells. For example, to add whitespace to a table, some content developers use empty cells with a specific WIDTH or HEIGHT. For DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 133 instance, if a table has 12 rows of cells and you want a left gutter of 20 pixels wide before each row, the first cell in the table could have this form: However, if table cells with content require more space than is available, TV Navigator tries to find the best fit, even if it means ignoring specified cell sizes. This can result in a loss of the 20 pixels of whitespace. To ensure that some whitespace exists in this worst case, add a SPACER element or a nonbreaking space as the only content in the cell: In this case, even if there isn’t enough room for the 20 pixels you asked for, at least the cells get the width of a space character in the default font setting. highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] The HIGHLIGHTABLE attribute determines whether the focus rectangle will be drawn around the cell when it’s the focus of user attention. Setting it to "false" prevents the rectangle from being drawn. In all other cases—setting it to "true", mentioning it with no value set, or not mentioning it at all—highlighting is automatic. This attribute gives you a way to turn off automatic highlighting if you have an alternative way of marking the cell when it’s in focus. For example, in JavaScript, you could implement TableCell.onfocus() and onblur() handlers that would change the background image or color of the cell. You can dynamically determine whether or not a cell will be highlighted with the focus rectangle through a JavaScript TableCell property that matches this attribute. The HIGHLIGHTABLE attribute for the TABLE element is merely a convenient way to set this behavior for all cells in the table. The settings for individual cells override the TABLE setting. VARIATIONS: This attribute is not supported in TV Navigator Compact. 134 CHAPTER 2: HTML REFERENCE JANUARY 2002 loop SYNOPSIS: DESCRIPTION: loop=["number" | "-1" | "infinite"] This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: nowrap SYNOPSIS: DESCRIPTION: nowrap If NOWRAP is specified for a TD cell, TV Navigator tries not to scale images or wrap text within the cell. Because horizontal scrolling is not allowed, TV Navigator will ignore NOWRAP if other cells in the table have to be squeezed, making their contents unreadable or too small. rowspan SYNOPSIS: DESCRIPTION: rowspan="number" The ROWSPAN attribute indicates the number of rows that the current TD cell should merge from below. Every TR row that contains a merged cell from above will need one less TD cell. For example: merged cells The resulting table looks like this: merged cells JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 135 scrollamount SYNOPSIS: DESCRIPTION: scrollamount="pixels" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: scrolldelay SYNOPSIS: DESCRIPTION: scrolldelay="milliseconds" This attribute is part of a TV Navigator feature for animating text within a cell. For more information, refer to the complete description of the TD table cell BEHAVIOR attribute. This attribute is not supported in TV Navigator Compact. VARIATIONS: valign SYNOPSIS: DESCRIPTION: valign=["bottom" | "middle" | "top" | "baseline"] The VALIGN attribute sets the vertical alignment of the cell contents. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the cell, respectively. A setting of "baseline" aligns the first line of text in the cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. width see height 136 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 no ...optionaltext... bgcolor="color" cols="numChars" disabled focusable=["true" | "false"] name="string" rows="numLines" wrap=["off" | "hard" | "soft"] onblur="JavaScript" onchange=JavaScript" onfocus="JavaScript" onselect="JavaScript" EVENT HANDLERS: Overview The TEXTAREA element creates a text input control inside a FORM element. The TEXTAREA element is different from the INPUT type="text" element because it allows the user to input multiple lines of wrapped text. You can set the size and appearance of the text area and control its behavior inside the form. Liberate has extended the TEXTAREA element with two attributes. The first lets you set the BGCOLOR of the element. The second attribute, FOCUSABLE lets you designate a text area as readonly—by setting focusable="false"—for the purpose of displaying text. The end tag is required for the TEXTAREA element, and in a typical form the end tag appears directly after the opening tag. However, you can choose to display text in the text area by inserting it between the opening and closing tags. Figure 29 shows an example of a TEXTAREA in a form with a background color and some initial text. cols="20" rows="2" bgcolor="papayawhip" Figure 29: TEXTAREA Element in TV Navigator JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 137 This is the code that created the text area: Symptoms: Type here When TV Navigator displays the text area to the user, it follows an algorithm that lets the user navigate the FORM and also edit text in the TEXTAREA: • First, the user navigates the entire page and the different elements inside the FORM by using the cursor keys or the Tab key to jump from element to element. • When the highlight rectangle lands on a TEXTAREA element, the user presses Enter or any alphanumeric key to begin typing. • The user can enter carriage returns in the text by pressing the Enter key. By default, text automatically wraps inside the TEXTAREA. Carriage returns entered by the user are submitted with the form data as line feeds. • The user can edit text already typed by using the cursor keys and the Backspace key. The entire field is cleared if the user presses the Delete key. • The user exits the text area by pressing the Tab key, or by moving the cursor beyond text already entered. If the text area is reentered during navigation, typing and editing begins after the last character. Variations The TEXTAREA element is not supported in TV Navigator Compact, because the FORM element is not supported. Attributes bgcolor SYNOPSIS: DESCRIPTION: bgcolor="color" Sets the background color for the TEXTAREA element. A setting of "transparent" (the default) allows the BGCOLOR attribute of the BODY element to show through to the background. For more information about setting the color parameter, refer to Chapter 4, “Using Color.” 138 CHAPTER 2: HTML REFERENCE JANUARY 2002 cols SYNOPSIS: DESCRIPTION: cols="numChars" Sets the width of the element. The unit of measurement is a single character of the available monospace font. Thus, a value of "40" sets the width of the TEXTAREA to hold 40 characters. If no value is specified, the text area expands horizontally to fit the maximum space available. disabled SYNOPSIS: DESCRIPTION: disabled The DISABLED attribute prevents the user from focusing on the TEXTAREA element. No name-value pair will be sent to the server upon submission of the form. Compare this with the behavior of the READONLY attribute. This attribute is not yet supported in any version of TV Navigator. To prevent focus, use the FOCUSABLE attribute. VARIATIONS: focusable SYNOPSIS: DESCRIPTION: focusable=["true" | "false"] TEXTAREA elements are focusable by default. However, you may want to use a text area to simply display information to the user, rather than display what the user types. The FOCUSABLE attribute gives you a choice. If it is set to "true", listed without a value, or not listed at all, the text area can become the focus for user input. However, if it is set to "false", it cannot become the focus and will not display any characters the user types. In JavaScript, there is a matching Textarea object with the same property. With it, you can dynamically determine when the text field should accept input from the user. VARIATIONS: This attribute is not supported in TV Navigator Compact. name SYNOPSIS: DESCRIPTION: name="string" The NAME attribute of any form control, including TEXTAREA, is used for two functions. The first function of NAME is to identify the control for manipulation from JavaScript. The second function is to provide the “name” in the name- JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 139 value pair of data that is submitted to the server. Although NAME is not a required attribute, the text area serves little purpose without it. VARIATIONS: This attribute is not supported in TV Navigator Compact. rows SYNOPSIS: DESCRIPTION: rows="numLines" Sets the vertical height of the TEXTAREA element, in the number of lines of text to accommodate. If no value is specified, the default is 10 lines. wrap SYNOPSIS: DESCRIPTION: wrap=["off" | "hard" | "soft"] The "hard" and "soft" settings (the default is "soft") of the WRAP attribute produce automatic text wrapping. The user can also enter carriage returns in the text area by pressing the Enter key. If the WRAP attribute is set to "hard", carriage returns generated by automatic wrapping are sent as line feeds. The "soft" setting only sends carriage returns typed by the user. If WRAP is set to "off", any text that overflows the width setting of the TEXTAREA forces previously typed text to scroll off the text area to the left. This does not erase any previously typed text. To move down to the next line, the user must press a carriage return. All manually entered carriage returns are submitted as part of the form data. A one-row text area with WRAP set to "off" behaves just like an INPUT type="text" element. USAGE: ATTRIBUTES: s1 yes c3 yes ...text... none The TITLE element is required by the HTML specification. The text enclosed by the TITLE element defines the string displayed in history and favorites lists. In a PC browser, the content of the TITLE element is displayed as the label for the browser window. TV Navigator has no parallel function. 140 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... align=["left" | "center" | "right"] bgcolor="color" valign=["top" | "middle" | "bottom" | "baseline"] onblur="JavaScript" onclick="JavaScript" onfocus="JavaScript" onnavigate="JavaScript" EVENT HANDLERS: Overview The TR element defines a table row, and is therefore a subelement of the TABLE element, and a container for table cells (TD elements). The TR element accepts a limited number of attributes that determine alignment and color. These attributes can be overridden by local declarations in each table cell. TV Navigator does not require an end tag for TR. For more information about TR, refer to the complete description of the TABLE element. Attributes align SYNOPSIS: DESCRIPTION: align=["left" | "center" | "right"] Sets the horizontal alignment of content for all the cells in the TR row. The ALIGN attribute of a TR row can be overridden by local declarations of ALIGN for each TD cell in the row. bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["color" | "transparent"] Sets the background color for all the cells in the TR row. A setting of "transparent" (the default) allows the BGCOLOR attribute of the TABLE element to show through to the cells in the row. The BGCOLOR attribute of a TR row can be overridden by local declarations of BGCOLOR for each TD cell in the row. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 141 For more information about setting the color parameter, refer to Chapter 4, “Using Color.” valign SYNOPSIS: DESCRIPTION: valign=["top" | "middle" | "bottom" | "baseline"] The VALIGN attribute sets the vertical alignment of cell content in the TR row. The "top" and "bottom" settings align the cell contents to the top and bottom edges of the row, respectively. A setting of "baseline" aligns the first line of text in each cell to a common baseline for the row. The default value of VALIGN is "middle", which centers the contents vertically in the cell. The VALIGN attribute of a TR row can be overridden by local declarations of VALIGN for each TD cell in the row. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The TT element, along with the related CODE and PRE elements, serves little purpose in a television environment. The intent of TT is to display teletype output. In TV Navigator, TT elements look exactly like CODE elements. Refer to CODE for more information. Variations TV Navigator Compact does not support the TT element in the foreground layer. 142 CHAPTER 2: HTML REFERENCE JANUARY 2002 USAGE: ATTRIBUTES: s1 yes c3 yes ... none The U element creates an underline effect for the text it surrounds. The underline is 2-3 pixels wide (depending on the size of the text), and rendered in the same color as the text. To prevent visual artifacts, some versions of TV Navigator may “antialias” the underline—that is, paint either the top and/or bottom row of pixels in a lighter shade of the text color. Generally, the underline effect should be avoided, as most users expect underlined text to be a hyperlink. USAGE: ATTRIBUTES: s1 yes c3 yes ... compact type=["circle" | "disc" | "square"] Overview The UL element creates an unordered list of items, also called a “bulleted list.” Use the UL element to enclose the list, and LI elements to mark each list item. Only the UL element requires an end tag; end tags for LI items are not necessary, because these elements terminate automatically at the start of any other list element. For example: Red Orange Yellow Green In TV Navigator, the unordered list looks like (Figure 30). JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 143 default Unordered Lists in Standard 1.x Red Orange Yellow Green type="circle" Red Orange Yellow Green type="disc" Red Orange Yellow Green type="square" Red Orange Yellow Green default Unordered Lists in Compact 3.x type="circle" type="disc" type="square" Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Red Orange Yellow Green Figure 30: Unordered Lists in TV Navigator As Figure 30 shows, TV Navigator Compact lets you control the appearance of the list with the TYPE attribute. This behavior applies to TV Navigator Micro Edition as well. To distinguish the list from the surrounding text, the entire list is typically indented 20 pixels to the right, and 30 pixels down from the previous line. For versions supporting the TYPE attribute, TV Navigator distinguishes levels of indentation (lists within lists) by altering the bullet type as follows: • Disc (first-level indent) • Square (second-level indent) • Circle (third-level indent) Variations TV Navigator Standard 1.x does not support the TYPE attribute. 144 CHAPTER 2: HTML REFERENCE JANUARY 2002 Attributes compact SYNOPSIS: DESCRIPTION: compact The COMPACT attribute is intended to compress the appearance of an unordered list. In TV Navigator, lists are already rendered as compactly as possible, so this attribute has no visible effect. type SYNOPSIS: DESCRIPTION: type=["circle" | "disc" | "square"] Determines the appearance of the “bullet” at the start of each list item. The default value is "disc" (see Figure 30). Not supported in TV Navigator Standard 1.x. AVAILABILITY: USAGE: ATTRIBUTES: s1 yes c3 yes programvariable none The VAR element marks a character or word as a variable in a computer program or mathematical description. TV Navigator renders VAR in an italic version of the surrounding font. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 145 USAGE: ATTRIBUTES: s1 yes c3 no ...... none The WBR element can reside inside any section of text surrounded by a NOBR element. It allows the browser to insert a line break in the specified location if the window is not wide enough to fit the entire NOBR section. For example: JavaScript variables are marked read-only, write-only, or read/write to indicate whether they can be, respectively, examined but not modified, modified but not examined, or both examined and modified. In this example, TV Navigator breaks the passage after the word “marked” but not after “read/write”. Why is this so? If a WBR element occurs in a line following a line break generated by a previous WBR element, it is considered to be an optional line break for the same line, and is ignored. See the NOBR element for more information. Variations TV Navigator Compact does not support the WBR element. USAGE: ATTRIBUTES: s1 yes c3 yes ... none The XMP element is intended to display a block of computer code. Although this element is supported in TV Navigator, you should use the PRE element instead. Variations In TV Navigator Compact, this element does not change the appearance of text in the foreground layer. It is only supported in the background layer. 146 CHAPTER 2: HTML REFERENCE JANUARY 2002 Event Handlers CHAPTERS 3 Typically, the body of an event-handler function is defined in HTML. But handlers can also be defined in JavaScript. In some cases, they must be defined in JavaScript because they belong to objects (like NetRequest and User Manager) that don’t have HTML counterparts. In HTML, event handlers are defined as strings of JavaScript code. However, in JavaScript, they should be defined as functions. For more information, refer to “Defining Event Handlers” in the Content Developer’s Guide. Note: To conform to the HTML specification, event handler names used as tag attributes are case-insensitive. However, to maintain consistency with the Liberate JavaScript implementation, all event handlers defined here are lowercase only. AVAILABILITY The event-handler attributes listed here apply only to TV Navigator Standard 1.2 (and higher) . Versions of TV Navigator that use a microBrowser application, such as TV Navigator 3.x (and higher), will ignore the event-handlers and any associated JavaScript. ATTRIBUTES onabort SYNOPSIS: DESCRIPTION: The event-handling attribute onabort triggers when the transfer of an image to the client has been interrupted. Typically, the ELEMENT is IMG. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Availability 147 onblur SYNOPSIS: DESCRIPTION: The event-handling attribute onblur triggers when the ELEMENT loses the input focus. onchange SYNOPSIS: DESCRIPTION: The event-handling attribute onchange triggers when the ELEMENT loses focus and its contents changed while it had focus. The most common use for the onchange attribute is on the form elements INPUT, SELECT, and TEXTAREA. onclick SYNOPSIS: DESCRIPTION: The event-handling attribute onclick triggers when the user has pressed a key on the remote or keyboard to invoke the ELEMENT that’s currently in focus. onerror SYNOPSIS: DESCRIPTION: The event-handling attribute onerror executes its JavaScript statement when an error is detected in the document. For example, the onerror event handler would fire if there was an error following a link or loading an image. The most common ELEMENTs for onerror are the IMG element and the BODY element. On the BODY element, onerror refers to the entire window object, not just the document object. onfocus SYNOPSIS: DESCRIPTION: The event-handling attribute onfocus triggers when the ELEMENT receives the input focus. 148 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 onkeyout SYNOPSIS: DESCRIPTION: The event-handling attribute onkeyout is a Liberate extension to the HTML specification. This method belongs to the JavaScript Input object, and is designed to handle cases where user input does not apply to the context of the current page. For example, the onkeyout event handler would fire if the user changed channels, but the current HTML document has no object to process channel changing. For more information, refer to the “Input Object” topic in the Content Developer’s Reference. onload SYNOPSIS: DESCRIPTION: The event-handling attribute onload triggers when the document specified by ELEMENT completes downloading into TV Navigator. The most common ELEMENTs for onload are BODY, FRAMESET and IMG. onmouseout SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseout triggers when the user input focus leaves ELEMENT after landing on it. Because there is no mouse present in the TV environment, TV Navigator treats onmouseout the same as onblur. onmouseover SYNOPSIS: DESCRIPTION: The event-handling attribute onmouseover triggers when the user input focus lands on ELEMENT. Because there is no mouse present in the TV environment, TV Navigator treats onmouseover the same as onfocus. onnavigate SYNOPSIS: DESCRIPTION: The event-handling attribute onnavigate is a Liberate extension to the HTML specification. onnavigate is called once if the user attempts to move the focus rectangle in any direction from the cell that’s currently in focus. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Attributes 149 onreset SYNOPSIS: DESCRIPTION: The event-handling attribute onreset triggers when the user selects the Reset button in a form. onreset applies only to FORM elements. onselect SYNOPSIS: DESCRIPTION: The event-handling attribute onselect triggers when the user selects text in an INPUT or TEXTAREA element. Note that TV Navigator does not support user selection of text. onsubmit SYNOPSIS: DESCRIPTION: The event-handling attribute onsubmit triggers when the user selects the Submit button in a form. onsubmit applies only to FORM elements. onunload SYNOPSIS: DESCRIPTION: The event-handling attribute onunload triggers when a document is about to be unloaded from a window or frame. To apply onunload to a window, it must be an attribute of the BODY element in the affected document. Alternatively, onunload can apply to a FRAME element. onvisible SYNOPSIS: DESCRIPTION: The event-handling attribute onvisible triggers when the visibility of the ELEMENT changes. When defined as the attribute of a BODY element, the document must be in the topmost window, not a frame. For example: onvisible can also be defined as an attribute of the FRAMESET element, provided that it’s the topmost frameset. 150 Attributes CHAPTER 3: EVENT HANDLERS JANUARY 2002 Using Color CHAPTERS 4 Television is an inherently colorful medium. Viewers expect content on the TV screen to not only be colorful, but to use color in specific ways. For example, the Yahoo! Web site (http://www.yahoo.com) uses a black and blue over white color scheme that is both efficient and familiar to computer users. On a television screen, however, such a color scheme would rarely be seen. By using the standards of the Web, TV Navigator lets you specify color schemes for your content that are effective and attractive on a TV screen. For more information about designing with color, refer to the Content Developer’s Guide. This chapter provides a description of all HTML attributes that specify color, and how to specify color using hexadecimal RGB codes or predefined color names. COLOR ATTRIBUTES Refer to Chapter 2, “HTML Reference,” for a complete description of the HTML elements mentioned here. Note: In TV Navigator Compact, color attributes are limited if they are located in the foreground layer of the page. For more information about layering, refer to the DIV, BODY, and FONT elements in Chapter 2. link, alink, vlink SYNOPSIS: These attributes determine the color of links (LINK), selected links (ALINK), and visited links (VLINK) in the BODY element of your HTML document. You can DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Attributes 151 specify color using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. For example, both of these opening body tags (not in the same document, of course), specify a greyish-blue color for links on the page: VARIATIONS: TV Navigator does not support the ALINK or VLINK attributes. bgcolor SYNOPSIS: This attribute determines the background color of the document or the background color of tables, rows, and cells. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: color SYNOPSIS: The COLOR attribute determines the color of text enclosed by the FONT element. Alternatively, the color of all text following a BASEFONT element can be set with the COLOR attribute. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. DESCRIPTION: text SYNOPSIS: DESCRIPTION: The TEXT attribute of the BODY element sets the global color of text in the document. The FONT and BASEFONT elements can override this global attribute with local declarations of text color. You can specify colorspec using either a color name or a hexadecimal RGB value. Refer to “Color Names” on page 153, or “Hexadecimal RGB” on page 153. 152 Color Attributes CHAPTER 4: USING COLOR JANUARY 2002 HEXADECIMAL RGB Hexadecimal RGB is the most common (and compatible) method for specifying color as an attribute. “RGB” refers to a triplet of values for red, green, and blue. Each of the three colors is represented by a two-digit hexadecimal (“hex” for short) number. The hex number 00 (decimal 0) equals no color, while hex FF (decimal 255) equals full color. Therefore, #000000 represents pure black and #FFFFFF represents pure white. Intermediate values for red, green, and blue in different ratios can reproduce the entire color spectrum. For example, Figure 31 shows how to create the named color “chocolate” using the hexadecimal RGB scheme. Pound Sign #D2691E Red Value Green Value Blue Value chocolate #D2691E Figure 31: Specifying Color in Hexadecimal RGB To specify “chocolate” as the background color of a page in HTML, you would use either of the following methods: COLOR NAMES TV Navigator recognizes a set of 140 color names that can be used as attributes. This set is common to all versions of TV Navigator as well as current versions of Internet Explorer and Netscape Navigator. This list of 140 named colors should not be confused with the set of 216 “Web-safe” colors that are in common use. The Web-safe colors form a palette that reproduces consistently between different PC browsers. Web-safe colors are not a concern on TV Navigator. If you will be setting the color of an object dynamically from JavaScript, you cannot use the named colors. You must use hexadecimal RGB for dynamic properties. The following three figures show the complete set of 140 named colors. The hexadecimal RGB equivalent is shown below the color name. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Hexadecimal RGB 153 aliceblue #F0F8FF #F0FFFF antiquewhite #FAEBD7 #F5F5DC #0000FF #5F9EA0 aqua #00FFFF #FFE4C4 #8A2BE2 #7FFF00 #FFF8DC #008B8B #BDB76B #9932CC #483D8B #FF1493 #B22222 #DCDCDC #808080 #FF69B4 #F0E68C aquamarine #7FFFD4 #000000 #A52A2A #D2691E #DC143C azure beige bisque black blanchedalmond #FFEBCD burlywood #DEB887 #FF7F50 #00FFFF #A9A9A9 blue blueviolet brown cadetblue chartreuse chocolate crimson coral cornflowerblue #6495ED darkblue #00008B #006400 #FF8C00 #8FBC8F #9400D3 #1E90FF #FF00FF #DAA520 #F0FFF0 #FFFFF0 cornsilk cyan darkcyan darkgoldenrod #B8860B darkmagenta #8B008B #8B0000 #2F4F4F #00BFFF #FFFAF0 #F8F8FF #F008000 #CD5C5C #E6E6FA darkgray darkgreen darkkhaki darkolivegreen #556B2F darksalmon #E9967A #00CED1 #696969 #228B22 #FFD700 #ADFF2F #4B0082 darkorange darkorchid darkred darkseagreen darkslateblue darkslategray darkturquoise darkviolet deeppink deepskyblue dimgray dodgerblue firebrick floralwhite forestgreen fushcia gainsboro ghostwhite gold goldenrod gray green greenyellow honeydew hotpink indianred indigo ivory khaki lavender Figure 32: Named Colors (page 1 of 3) 154 Color Names CHAPTER 4: USING COLOR JANUARY 2002 lavenderblush #FFF0F5 #F08080 #D3D3D3 #87CEFA #00FF00 #B03060 lawngreen #7CFC00 #E0FFFF #FFB6C1 #778899 #32CD32 lemonchiffon #FFFACD lightblue #ADD8E6 #90EE90 #20B2AA #FFFFE0 #FF00FF lightcoral lightcyan lightgoldenrodyellow #FAFAD2 lightsalmon #FFA07A #B0C4DE #FAF0E6 #0000CD lightgreen lightgray lightpink lightseagreen lightskyblue lightslategray lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine #66CDAA mediumseagreen #3CB371 mediumvioletred #C71585 moccasin #FFE4B5 #808000 #DA70D6 #DB7093 #FFC0CB #FF0000 #FA8072 mediumblue mediumorchid #BA55D3 mediumspringgreen #00FA9A mintcream #F5FFFA #000080 #FFA500 #98FB98 #FFDAB9 #B0E0E6 #4169E1 #2E8B57 mediumpurple #9370DB mediumturquoise #48D1CC mistyrose #FFE4E1 #FDF5E6 #FF4500 #AFEEEE #CD853F #A020F0 #8B4513 mediumslateblue #7B68EE midnightblue #191970 #FFDEAD #6B8E23 navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod #EEE8AA papayawhip #FFEFD5 #DDA0DD #BC8F8F #F4A460 palegreen paleturquoise palevioletred peachpuff peru pink plum powderblue purple red rosybrown royalblue saddlebrown salmon sandybrown seagreen Figure 33: Named Colors (page 2 of 3) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Color Names 155 seashell #FFF5EE #6A5ACD #4682B4 #FF6347 #F5DEB3 #9ACD32 sienna #A0522D #708090 #D2B48C see text #FFFFFF silver #C0C0C0 #FFFAFA #008080 #40E0D0 #F5F5F5 skyblue #87CEEB #00FF7F #D8BFD8 #EE82EE #FFFF00 slateblue slategray snow springgreen steelblue tan teal thistle tomato transparent turquoise violet wheat white whitesmoke yellow yellowgreen Figure 34: Named Colors (page 3 of 3) TRANSPARENT BACKGROUNDS Note: TV Navigator Compact does not support transparency. The BGCOLOR attribute of the following elements can be set to “transparent”: Form elements that display text also have a BGCOLOR attribute that can be “transparent”: In these contexts, “transparent” is a color name, just like “red”, “lime”, or “maroon”, except that it indicates the absence of a background color. You can think of the elements displayed within a window as being layered. When one of them is transparent, the background image of the element underneath it shows through. For 156 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 example, if a table cell is transparent and the body of the document it’s in is assigned a background color or image, you’ll see the image underneath whatever text is placed in the cell: For the purpose of background color, tables, table rows, and table cells are all in the same layer. Setting BGCOLOR for a table is simply a convenient way of setting it for all cells in the table; setting it for a row simply sets it for all cells in the row. Therefore, any transparency in a table lets the body background show through. The following BODY element has a transparent background color, and is displayed in a frame: In this example, the image that shows through is the one assigned in the FRAMESET element, as discussed in the previous section. However, if the document is at the top level of the window, rather than in a subframe, the contents of the window behind it will show through. In this way, a small window can pop up in front of another window and blend with the larger window’s contents. BGCOLOR defaults to “transparent” for the table cells, but not for BODY or FORM elements. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Transparent Backgrounds 157 158 Transparent Backgrounds CHAPTER 4: USING COLOR JANUARY 2002 Content Data Types CHAPTERS 5 TV Navigator has the built-in ability to handle various types of data retrieved over the Internet. This chapter lists the types it handles without any help—the audio types it can play, the text and image types it can display, and so on. It shows the content-type string (the MIME media type) along with the file extensions that typically identify the type—for example, “audio/wav” and something.wav for a file with data in the Waveform Audio File Format. Because TV Navigator is a thin client, some of the work of interpreting incoming data may be taken over by a server, particularly the Liberate Transcode server. The server processes incoming data and translates it to another, private type for more efficient handling by the client software. For example, the TV Navigator client can display JPEG and GIF images although it never sees the JPEG and GIF data formats. The server converts these formats to a third type before sending the data to the client. This chapter documents the MIME media types that the server and client, working together, can handle. It doesn’t document the private types used internally between client and server. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 159 TEXT FORMATS text/plain EXTENSIONS: DESCRIPTION: .txt etc. Plain text not formatted with HTML tags. text/html EXTENSIONS: DESCRIPTION: .html, .htm HTML documents. 160 Text Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 AUDIO FORMATS Beginning with release 1.3, TV Navigator (not Compact) supports sampled audio data in the WAV, AIFF, and AU formats. It accepts both monaural and stereo data sampled at all standard rates, namely: 8.000 kHz 11.025 kHz 12.000 kHz 16.000 kHz 22.050 kHz 24.000 kHz 32.000 kHz 44.100 kHz 48.000 kHz However, the three formats differ in which compression schemes and sample sizes are supported. Those differences are described in the list of types that follows. Although a range of sampled audio data is understood—including all common encodings—the Transcode server simplifies the variety for the client. It currently translates all audio data to a single format at one encoding, sample rate, and sample size before delivering it to the set-top box. In TV Navigator Standard 1.1 and 1.2, all sound data must be in the WAV format, uncompressed, monaural, and sampled at 8 bits per second. audio/aiff, audio/x-aiff EXTENSIONS: DESCRIPTION: .aiff, .aif Audio Interchange File Format (AIFF), developed by Apple Computer and used mainly on their computers. TV Navigator supports only uncompressed, linear PCM (Pulse Code Modulation) encodings at either 8 or 16 bits per sample. audio/basic EXTENSIONS: DESCRIPTION: .au Audio (AU) format, developed by Sun Microsystems and originally used on UNIX machines. Several encodings are supported, primarily the following: • Uncompressed, linear PCM encoding, either integer or floating point, at 8, 16, or 32 bits per sample • Conventional A-law and µ-law compression (the CCITT G711 standard) JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Audio Formats 161 In addition, two versions of ADPCM (Adaptive Differential Pulse Code Modulation) encoding are supported on an experimental basis: • G721 compression at 4 bits per sample • G723 compression at 3 or 5 bits per sample audio/wav, audio/x-wav EXTENSIONS: DESCRIPTION: .wav Waveform Audio File Format (WAV), first defined by Microsoft for multimedia extensions to Windows and now an Internet standard. The supported encodings are: • Uncompressed, linear PCM encoding at 8 or 16 bits per sample (floating point is not supported) • A-law and µ-law compression (the G711 standard) • Microsoft ADPCM compression • IMA (Interactive Multimedia Association) ADPCM compression • G721 ADPCM compression 162 Audio Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 IMAGE AND VIDEO FORMATS image/gif EXTENSIONS: DESCRIPTION: .gif The GIF format (Graphic Interchange Format) for representing image data. This format diplays compressed (lossless), 256-color images. Depending on how the images are prepared, they can be optionally transparent or interlaced. Use this format for images with hard edges and solid areas of color. Animation is also supported in this format, but is not recommeded in TV Navigator. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: image/jpeg EXTENSIONS: DESCRIPTION: .jpeg, .jpg, .jpe The JPEG (Joint Photographic Experts Group) format for compressed image data. This format displays compressed (lossy) images with photographic quality (millions of colors). JPEG should be used for photographic images and gradients only, not for images with hard edges and solid areas of color. Animation and transparency are not supported. image/png EXTENSIONS: DESCRIPTION: .png The Portable Network Graphics (PNG) format, for representing image data. This format displays compressed (lossless) images. Images can be transparent or include animation. A variety of bit depths are supported, up to millions of colors. Transparency and animation are not supported by TV Navigator Compact. VARIATIONS: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Image and Video Formats 163 OTHER FORMATS application/x-javascript EXTENSIONS: DESCRIPTION: VARIATIONS: .js, .mocha JavaScript code. TV Navigator currently identifies JavaScript code in files with the extension .wnj as the “application/x-dtv-script” type. In practice, there is no difference between this type and “application/x-javascript”. This redundancy simply lets you distinguish one sort of JavaScript file from another. For example, you could mark files that use the Liberate extensions with the .wnj extension and reserve .js for more generic files. Not available in TV Navigator Compact. application/x-shockwave-flash EXTENSIONS: DESCRIPTION: VARIATIONS: .swf The data format for Macromedia Flash movies. Not available in TV Navigator Compact. In TV Navigator Standard, availability is at the discretion of the service provider. Chapter 8, “Playing Flash Movies” SEE ALSO: 164 Other Formats CHAPTER 5: CONTENT DATA TYPES JANUARY 2002 Protocols CHAPTERS 6 This chapter lists the protocol names that can appear in URLs understood by TV Navigator. Standard protocols are listed here, but are not described in any detail. The protocols that are peculiar to the TV environment—tv: and mcast:—are discussed more fully. PROTOCOLS FOR TV AND BROADCAST tv: SYNOPSIS: DESCRIPTION: tv:[channel][#src=(left,top,width,height)] Places television in a Web page and optionally specifies two things: the source of video input (the channel) and the part of the television picture to be displayed (a rectangle defined by the left, top, width, and height parameters). In general, the tv: protocol can be used anywhere that a URL can specify image data. Specifically, it can set the SRC attribute of an IMG or FRAME element and the BACKGROUND attribute of a handful of other elements: It can also be the destination of a link: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 165 In JavaScript, it can be used in comparable places: document.myImage.src = "tv:"; window.location = "tv:"; window.open(“tv:”, . . .); document.myTable.rows[0].cells[0].background = "tv:"; Tuning. If a channel ID immediately follows the protocol name, TV Navigator will, if possible, tune to the specified channel. For example: window.location = "tv:5"; Channel IDs are strings, so “12” is not the same as “0x0C”, and “5” is not the same as “05” or “005”. The string that follows tv: must exactly match the id property of a TvChannel object. In theory, you can also specify the video source by channel name, "tv:cnn", "tv:kron" or by a network name, "tv:abc", "tv:fox" provided that information is available that would permit the system to map those names to channel IDs. Channel and network names are case-insensitive. If an ID or name is omitted, tv: adds video to the page, but retains the current tuning. Note: In the current release, channel IDs are supported, but channel and network names are not. Scaling the picture. By default, a tv: URL places the full television picture on the page and scales it to fit the container (the window, frame, image, or table cell to which it’s assigned). In the following example, the TV picture would be scaled to fit the width and height specified for the image, and viewers would see a miniature, 180 × 135 version of full-screen TV: Some set-top boxes are capable of scaling the picture only to certain sizes—such as 1/4, 1/3, 1/2, 2/3, and 3/4 full size. Selecting part of the picture. It’s not necessary to display the entire television picture contained in the incoming video signal. The tv: URL can 166 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 select just a section of it to display. The section is defined by a rectangle using a coordinate system that has coordinate units equal to pixels and the origin at the upper left corner of the full picture. The rectangle is measured against the dimensions of the full picture as defined for the video format. It’s located by its left and top edges and its width and height, in the following format: #src=(left,top,width,height) For example, the following code selects a central section of the picture to display. Assuming the incoming television signal carries video that’s 640 pixels wide and 480 pixels high (the NTSC format), it trims 90 pixels from the top and bottom of the picture and 70 pixels from the left and right sides: The specified 500 × 300 section of the TV picture is scaled to fit the container where it’s placed. If, in this example, the image container was the same size as the source rectangle, scaling would not be necessary: However, if the container is smaller, the 500 × 300 source picture would be scaled smaller. In the following code, its dimensions are cut in half, to 250 × 150: Similarly, if the container is bigger than the source rectangle, the picture is scaled larger: Just as some set-top boxes are limited to certain sizes or fractions when scaling smaller, they may also be limited when scaling larger. In the examples just shown, the dimensions of the source rectangle are stated in pixel units. They can also be defined as percentages of the screen size for the video format: If the screen is 720 pixels wide and 576 pixels high (typical of the PAL format), these percentages would translate to pixels as follows: If the screen is 640 × 480 (typical of NTSC), they would translate to different pixel values: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 167 Only integers should be used as percentages (no floating-point numbers). It’s best not to mix percentages with pixels in the same specification. Picking a container. The tv: protocol is the only way to put TV in a document. If there’s just one source of TV input (one TvTuner object), there’s just one TV resource to allocate. It can therefore be specified only once for all documents, frames, and windows. If two or more URLs compete for the TV picture, TV Navigator uses the following ordered rules to determine which one prevails: 1. It prefers to put television in a visible window, rather than in one that’s currently invisible. See the Window.visible property for more information. (Visibility is measured only by that property; if a window is on-screen but covered by other windows, it is still considered visible.) 2. If the competing windows are all equally visible, it prefers the window that’s closest to the front of the screen—the one with the greatest Window.layer value. See that property for more information. 3. If the URLs are in the same window or the competing windows have the same visibility and are assigned to the same layer, TV Navigator picks the URL that would put television in the largest container. Size is calculated by multiplying the container’s width by its height. If these three rules are not decisive, the container that draws first prevails. In this case, it’s not guaranteed that the same container would always draw first. For example, if a page had two equal tv: images, as in the following example, . . . one of the images might grab the TV picture when the page is displayed one time, and the other image another time. Note that as the visibility of windows changes dynamically, the TV picture might jump from one container to another. Containers that don’t get the TV picture, or lose it, are drawn in a solid color. AVAILABILITY: HISTORY: VARIATIONS: Channel and network names are not currently supported. The source rectangle was introduced in TV Navigator 1.2.6.1. Not yet available in TV Navigator Compact. Chapter 3 of the Content Developer’s Guide SEE ALSO: 168 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 mcast: SYNOPSIS:S DESCRIPTION: mcast://. . . A protocol for listening to Mediacast channels—data received through a oneway broadcast mechanism, including: • A stream of in-band MPEG data from a cable or satellite • Data encoded in the vertical blanking interval (VBI) of analog broadcasts • IP Multicast (IPM) data over an IP network An mcast: URL addresses all the data in a particular Mediacast channel— everything in a data carousel, for example, or in a stream of ticker data. Individual items in the stream may be addressed by their own URLs, possibly URLs with http: or another protocol name (but not mcast:). The mcast: URL maps logical names to particular data categories and sources. For example: Example URL mcast://news/headlines Data Yields a series of Web pages (a data carousel). Yields a single well-known page (also a data carousel). Yields a stream of data. mcast://favorites/contents.html mcast://ticker/stock mcast://tvinfo VARIATIONS: TV Navigator Compact does not support this protocol. goto: SYNOPSIS: goto:exit goto:tv Compact Platform provides this powerful custom protocol to reference metacontent. That is, the goto: links reference either a type of content or a browser action. Compact Platform recognizes the following types of goto: links: DESCRIPTION: JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Protocols for TV and Broadcast 169 • goto:exit - Closes the browser session. • goto:tv - Closes the browser session. AVAILABILITY: Available only in TV Navigator Compact. 170 Protocols for TV and Broadcast CHAPTER 6: PROTOCOLS JANUARY 2002 STANDARD PROTOCOLS The TV Navigator application engine supports the standard protocols listed in this section. As noted in the next section, some other protocols are supported by specific Liberate applications. http: DESCRIPTION: Hypertext Transfer Protocol, the customary protocol for most Internet activity. https: DESCRIPTION: VARIATIONS: The secure version of the customary protocol. TV Navigator Compact does not support this protocol. javascript: DESCRIPTION: The protocol name that’s prefixed to embedded JavaScript code. When TV Navigator parses a javascript: URL, it executes the code, but does nothing with the resulting value. Typically, on computer-oriented browsers, if the last expression in the code inside a javascript: URL evaluates to a string (or to a type that can be converted to a string), the browser treats the string as if it was the document referred to by the URL. When the user follows the link in the following example, it would display the user agent string (since the last expression evaluates to what’s at the right of the assignment operator): VARIATIONS: TV Navigator Compact does not support this protocol. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Standard Protocols 171 UNSUPPORTED PROTOCOLS The following protocols are commonly used in Web application, but are not supported in TV Navigator, at least not directly, and don’t appear in the preceding lists: file: The protocol for specifying the path name of a file or other locally stored entity. Because TV Navigator is not currently available on set-top boxes that have hard disks and file systems, it does not support this protocol at the present time. Future versions will implement the file: protocol if the hardware supports a client file system. mailto: The protocol name for opening an e-mail application so the user can send mail to the specified recipient. Although the application engine for TV Navigator doesn’t recognize this protocol, the Liberate TV Mail™ application does. If TV Mail is installed for a user who selects a mailto: link, it will bring up a window where the user can compose a mail message. irc: The IRC (Internet Relay Chat) protocol for chat sessions. Although TV Navigator doesn’t support this protocol, Liberate TV Chat™ does. If TV Chat is installed for the current user and the user selects an irc: link, it attempts to contact the specified chat server and start the chat session. 172 Unsupported Protocols CHAPTER 6: PROTOCOLS JANUARY 2002 Playing Sounds CHAPTERS 7 Content created for TV Navigator Standard (not TV Navigator Compact) can associate sounds with a Web page in three ways: • As background sounds—played with the standard BGSOUND element. You can loop through the sound a specified number of times or have it played repeatedly. For example: • As linked sounds—played when the user follows a link to the sound file. The sound is played only once, when the file is loaded. For example: Kaboom!! • As embedded sounds—placed on the page with the standard EMBED element. For example: In all cases, sound data must be in one of the supported audio formats listed in Chapter 5, “Content Data Types.” Currently, TV Navigator can play embedded sounds only if they are declared to be user interface (UI) sounds—the various clicks, beeps, and swooshes that accompany user actions, such as when the user selects a radio button or presses a key. A Liberate–defined attribute, UISOUND, notifies TV Navigator that the sound is to be used in the user interface. Embedded sounds without this attribute are ignored. User-interface sounds are always hidden; they don’t have a visual presence on-screen and are not subject to user control. They’re played by calling the Embed object’s play() method, usually from a JavaScript event handler, as illustrated in the example on the next page. The example shows a user-interface sound that’s played when the user selects a button, from the button object’s onclick() handler. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 173 UI sound demonstration . . . . . . This example shows the EMBED element with six attributes: • The SRC attribute specifies the sound file (“click.wav”) and NAME gives it a name (“sound1”). The script then uses the name to identify the embedded sound as a property of the Document object. It defines a playClick() function that calls the sound’s play() method; the onclick() handler calls playClick() when the user invokes the button. • The HEIGHT and WIDTH attributes are required for compatibility with other browsers, but their values are ignored. • The LOOP attribute specifies that the sound will be played four times when play() is called. • The UISOUND attribute is required for TV Navigator to recognize the sound. The standard HIDDEN attribute is not specified, but is assumed. Other attributes of the EMBED element are not supported. Because UI sounds are played immediately in response to a user action, there’s not enough time to stream them in over the network. This means that they stay resident in RAM, taking up valuable resources. Be aware of the space that UI sounds consume, and keep them small. 174 CHAPTER 7: PLAYING SOUNDS JANUARY 2002 Playing Flash Movies CHAPTERS 8 TV Navigator Standard can play Macromedia Flash™ movies created in the Flash 4.0 SWF format. This support was added in the 1.3 and above releases of TV Navigator; it’s not available in the 1.1 versions of TV Navigator and may be present in some deployments of 1.2. You can load a Flash movie into a window or frame by making it the subject of a link: See a demonstration. Or, you can assign it as the source document of a frame: However, movies are typically placed on a page using the EMBED element. For example, the following HTML fragment places a Flash movie (skiing.swf) in a container that’s 200 pixels wide and 100 pixels high: This fragment shows the EMBED element with a set of commonly used attributes. A source file (the src attribute) must be specified. The WIDTH and HEIGHT of the display area, while not required, are recommended for efficient page translation. The NAME attribute is required only if the movie will be manipulated in JavaScript. For information on using JavaScript with Flash movies, refer to the Content Developer’s Reference. The rest of this chapter presents the EMBED element for Flash movies, and its unique attributes. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 175 USAGE: ATTRIBUTES: s1 optional c3 no ... base="URL" bgcolor=["#RRGGBB" | "transparent"] highlightable=["true" | "false"] loop=["true" | "false"] name="movie" play=["true" | "false"] pluginspage="http://www.macromedia.com/shockwave/download" quality=["high" | "low" | "autohigh" | "autolow" | "best"] salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] scale=["showall" | "noborder" | "exactfit"] src="URL" ui width=["percent" | "pixels"] ; height=["percent" | "pixels"] Attributes This section describes the common attributes of the EMBED element only when it’s used to embed a Flash movie. If attributes other than those listed are included in the tag, TV Navigator ignores them. If you don’t specify a value for an optional attribute, TV Navigator uses the default value. base SYNOPSIS: DESCRIPTION: base="URL" The base URL used to resolve relative path statements in the Flash movie. For example: bgcolor SYNOPSIS: DESCRIPTION: bgcolor=["#RRGGBB" | "transparent"] The background color of the movie. This attribute overrides the background color setting in the Flash file. It takes a hexadecimal red-green-blue color specification (#RRGGBB) or the special color name “transparent” for a 176 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 transparent background. Other color names are not supported. For example, an indigo background would be specified as follows: height see width highlightable SYNOPSIS: DESCRIPTION: highlightable=["true" | "false"] Determines whether or not the user can select elements within the movie— “true” if it’s possible and “false” if not. The default is “true”. loop SYNOPSIS: DESCRIPTION: loop=["true" | "false"] Whether or not to repeat the movie indefinitely—“true” if it should begin playing again at the first frame whenever it reaches the final frame, and “false” if it should stop on the final frame. The default value is “true”. name SYNOPSIS: DESCRIPTION: name="movie" A name that can be used to refer to the movie in JavaScript. For example: This assignment would allow a script to find the corresponding Embed object as follows: If there’s more than one EMBED element on the page, be sure to use a unique name for each one. JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 177 play SYNOPSIS: DESCRIPTION: play=["true" | "false"] Whether or not the movie will play automatically when it’s loaded—“true” if it should play automatically and “false” if not. The default is “true”. If you set this attribute to “false” to prevent the movie from playing automatically, you must use a JavaScript method to begin the movie animation. pluginspage SYNOPSIS: DESCRIPTION: pluginspage="http://www.macromedia.com/shockwave/download" The PLUGINSPAGE attribute tells the browser where to find the Flash plug-in if it is not detected. TV Navigator ignores this attribute because Flash capability is built into the TV Navigator application engine. However, if your movie will be shown on other browsers, you should use this attribute. quality SYNOPSIS: DESCRIPTION: quality=["high" | "low" | "autohigh" | "autolow" | "best"] The level of anti-aliasing in the movie. salign SYNOPSIS: DESCRIPTION: salign=["L" | "R" | "T" | "B" | "TL" | "TR" | "BL" | "BR"] Specifies how the movie is to be aligned when it’s resized using the SCALE attribute. The default behavior centers the movie in the specified area, and crops the edges if the movie does not fit. The SALIGN attribute is ignored if it is used without a corresponding SCALE attribute. The values position the movie along one edge or two adjacent edges of the containing rectangle, and crop it if necessary. The values are “L” (left), “R” (right), “T” (top), “B” (bottom), “TL” (top and left), “TR” (top and right), “BL” (bottom and left), and “BR” (bottom and right). 178 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 scale SYNOPSIS: DESCRIPTION: scale=["showall" | "noborder" | "exactfit"] Specifies how the movie should be scaled to its container. This attribute applies only when the WIDTH and HEIGHT specified are different from the movie’s original size. The values behave as follows: showall Makes the entire movie visible in the available area, while maintaining the aspect ratio. Borders may appear on two sides of the movie. This is the default setting. The effect is similar to a wide-screen film shown on a TV screen in letterbox format; a black border is shown above and below the film. noborder Shows as much of the movie as possible in the available area, while maintaining the aspect ratio. Parts of the movie that do not fit in the available area are cropped. The effect is similar to watching a wide-screen film that has been cropped on the sides (“panned and scanned”) to fit the narrower width of a TV screen. exactfit Forces the movie to fit the entire visible area. Aspect ratio will not be maintained, and distortion will occur. src SYNOPSIS: DESCRIPTION: src="URL" The source file for the movie. The URL can be relative or absolute. For example: Although most of the other attributes are optional, this one is obligatory. Your must specify a source. ui SYNOPSIS: DESCRIPTION: ui This attribute has no value. It’s a Boolean that’s either present or absent. Its presence indicates that the movie plays a role in the user interface. TV JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 179 Navigator takes this fact into account when it needs to reclaim memory to make room for new data. It tries to free other things, including other Flash movies, before getting rid of a movie marked with this attribute. width, height SYNOPSIS: width=["percent" | "pixels"] height=["percent" | "pixels"] These attributes specify a size for the movie; they override the size set in the Flash file. When set as a percent, they define the size of the movie in relation to the available screen area. When set as pixels, they define an absolute width and height. As such, they’re interpreted similarly to the WIDTH and HEIGHT attributes of the TABLE element. For example: DESCRIPTION: If only one of these attributes is specified, TV Navigator will attempt to maintain the aspect ratio of the movie. Although WIDTH and HEIGHT are optional, these attributes should be used whenever possible to improve transcoding performance. SEE ALSO: SCALE, SALIGN 180 CHAPTER 8: PLAYING FLASH MOVIES JANUARY 2002 Character Sets BASIC HTML CHARACTER ENTITIES CHAPTERS 9 TV Navigator supports a basic set of HTML character entities. Use these codes to display special characters in HTML documents. For example, each of the following lines of HTML displays the British “pound” character: £ £ The following table lists entities in order by numeric code equivalent, and provides the following information: • The first four columns (“Version”) indicate which version of TV Navigator supports the entity. For version notation, refer to Chapter 1, “Introduction.” • The “In Use” column shows how the character looks in TV Navigator (approximate). • The “Entity” and “Code” columns shows the literal strings to use in HTML to display the character. Generally, you can use either the entity or the code. • The “Description” column provides a brief description of the character. Version s1 c3 y y y y y y y y y y In Use Entity Code ¡ ¢ £ ¤ Description no-break space inverted exclamation point cent sign pound sign currency sign ¡ ¢ £ ¤ ¡ ¢ £ ¤ JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 181 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Code ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Description yen sign broken bar section sign diaeresis copyright sign feminine ordinal indicator left-pointing double angle quote not sign soft hyphen registered sign macron degree sign plus-minus sign superscript two superscript three acute accent micro sign pilcrow (paragraph sign) middle dot cedilla superscript one masculine ordinal indicator right-pointing double angle quote vulgar fraction one quarter vulgar fraction one half vulgar fraction three quarters inverted question mark cap A with grave cap A with acute 182 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Code Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ Description cap A with circumflex cap A with tilde cap A with diaeresis cap A with ring above cap AE cap C with cedilla cap E with grave cap E with acute cap E with circumflex cap E with diaeresis cap I with grave cap I with acute cap I with circumflex cap I with diaeresis cap ETH cap N with tilde cap O with grave cap O with acute cap O with circumflex cap O with tilde cap O with diaeresis multiplication sign cap O with stroke cap U with grave cap U with acute cap U with circumflex cap U with diaeresis cap Y with acute cap THORN JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 183 Version s1 c3 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y In Use Entity ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Code ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û Description small sharp s small a with grave small a with acute small a with circumflex small a with tilde small a with diaeresis small a with ring above small ae small c with cedilla small e with grave small e with acute small e with circumflex small e with diaeresis small i with grave small i with acute small i with circumflex small i with diaeresis small eth small n with tilde small o with grave small o with acute small o with circumflex small o with tilde small o with diaeresis division sign small o with stroke small u with grave small u with acute small u with circumflex 184 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 Version s1 c3 y y y y y y y y In Use Entity ü ý þ ÿ ü ý þ ÿ Code ü ý þ ÿ Description small u with diaeresis small y with acute small thorn small y with diaeresis JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM Basic HTML Character Entities 185 186 Basic HTML Character Entities CHAPTER 9: CHARACTER SETS JANUARY 2002 INDEX A A element audio/x-wav 162 8–14 ABBR element 12 ACRONYM element 12 ACTION attribute FORM element 46 ADDRESS element 12 ALIGN attribute APPLET element 14 CAPTION element 32 DIV element 37 H1-H6 elements 56 HR element 58 IMG element 61 P element 100 SELECT element 109 SPACER element 113 TABLE element 122 TD,TH elements 130 TR element 141 ALINK attribute BODY element 26 ALT attribute APPLET element 14 AREA element 17 IMG element 62 APPLET element 13–15 application/x-dtv-script 164 application/x-javascript 164 application/x-shockwave-flash 164 ARCHIVE attribute APPLET element 14 AREA element 16–19 audio/aiff 161 audio/basic 161 audio/wav 162 audio/x-aiff 161 B B element 20 26 BACKGROUND attribute BODY element 53 109 TABLE element 122 TD,TH elements 130 background sounds 173 BASE attribute Flash movies 176 BASE element 20–21 BASEFONT element 21–22 BEHAVIOR attribute TD,TH elements 131 BGCOLOR attribute BODY element 26 Flash movies 176 SELECT element 109 TABLE element 122 TD,TH elements 132 TEXTAREA element 138 TR element 141 BGSOUND element 22–23, 173 BIG element 23 BLINK element 24 BLOCKQUOTE element 24 BODY element 25–31 BORDER attribute FRAMESET element 53 IMG element 63 TABLE element 122 BORDERCOLOR attribute FRAME element 49 FRAMESET element 53 BR element 31 SELECT element FRAMESET element JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 187 broadcast 93 broadcast streams 169 DIR element 36 131 DIRECTION attribute TD,TH elements DISABLED attribute C CAPTION element TABLE element TABLE element CENTER element CHARSET attribute LINK element CITE attribute BLOCKQUOTE element CITE element CLEAR attribute BR element CODE attribute 32–33 122 CELLPADDING attribute CELLSPACING attribute 122 33 83 24 34 31 99 109 TEXTAREA element 139 DIV element 37–38 DL element 39 DOWN attribute A element 10 AREA element 19 DT element 39 DYNAMICCOLS attribute TABLE element 124 SELECT element OPTION element E EM element 40 40 47 14 CODE element 34–35 CODEBASE attribute APPLET element 14 COLOR attribute BASEFONT element 22 FONT element 43 COLS attribute FRAMESET element 54 TABLE element 124 TEXTAREA element 139 COLSPAN attribute TD,TH elements 132 COMPACT attribute DIR element 36 DL element 39 MENU element 85 OL element 97 UL element 145 CONTENT attribute META element 87 COORDS attribute AREA element 18 APPLET element EMBED element ENCTYPE attribute FORM element F FACE attribute BASE element FONT element 22 43 Flash movies 175 FOCUSABLE attribute TD,TH elements 133 TEXTAREA element 139 FONT element 40–44 FORM element 44–48 FRAME attribute TABLE element 125 FRAME element 48–50 FRAMEBORDER attribute FRAME element 49 FRAMESET element 53 FRAMESET element 51–55 G goto: protocol 169 D DD element 35 DFN element 36 H H1-H6 elements 56–57 188 INDEX JANUARY 2002 HEAD element 57 K KBD element HEIGHT attribute 80 15 Flash movies 180 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 HIGHLIGHTABLE attribute A element 9 Flash movies 177 TABLE element 126 TD,TH elements 134 HISTORY attribute META element 87 HR attribute SIZE element 58 HR element 57–58 HREF attribute A element 10 AREA element 18 BASE element 21 LINK element 83 HSPACE attribute APPLET element 15 IMG element 63 TABLE element 126 HTML element 59 HTTP-EQUIV attribute META element 87 APPLET element L LANGUAGE attribute SCRIPT element LAYER attribute BODY element DIV element 105 27 37 H1-H6 elements 57 IMG element 64 P element 100 TABLE element 127 LAYER element 80 LEFT attribute A element 10 AREA element 19 LI element 81–82 LINK attribute BODY element 27 LINK element 82–84 linked sounds 173 LISTING element 84 LOOP attribute BGSOUND element 23 embedded sounds 174 Flash movies 177 TD,TH elements 131 LOWSRC attribute IMG element 65 I 59 I-frames 26, 27, 37, 64, 80, 100, 127 image/gif 163 image/jpeg 163 image/png 163 IMG element 60–66 INITIALFOCUS attribute META element 91 INPUT element 67–78 ISINDEX element 78–79 ISMAP attribute IMG element 64 I element M Macromedia Flash 175 MAP element 84 MARGINHEIGHT attribute FRAME element 49 MARGINWIDTH attribute FRAME element 49 mcast: protocol 169 Mediacast 169 MENU element 85 META element 86–93 METHOD attribute FORM element 47 MULTIPLE attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 189 SELECT element 109 POPUPBG attribute SELECT element 110 N NAME attribute POPUPDIRECTION attribute A element 11 APPLET element 15 AREA element 19 Flash movies 177 FORM element 48 FRAME element 49 IMG element 65 MAP element 85 META element 92 PARAM element 101 SELECT element 110 TABLE element 127 TEXTAREA element 139 NOBR element 93 NOFRAMES element 95 NOHREF attribute AREA element 18 NORESIZE attribute FRAME element 50 NOSCRIPT element 95 NOSHADE attribute HR element 58 NOWRAP attribute TD,TH elements 135 110 102–103 PROMPT attribute ISINDEX element 79 protocols goto: 169 http: 171 https: 171 javascript: 171 mcast: 169 tv: 165 PRE element SELECT element Q QUALITY attribute Flash movies 178 R refresh, automatic 90 REL attribute A element 11 LINK element 83 REV attribute A element 11 LINK element 83 RIGHT attribute A element 10 AREA element 19 ROWS attribute TEXTAREA element 140 ROWSPAN attribute TD,TH elements 135 RULES attribute TABLE element 128 O OL element 96–98 98–99 OVERSCAN attribute BODY element 27 FRAMESET element 55 OPTION element P P element 99–100 101 P-frames 64, 127 PLAINTEXT element 102 PLAY attribute Flash movies 178 PLUGINSPAGE attribute Flash movies 178 PARAM element S S element 103 SALIGN attribute Flash movies 178 103 SCALE attribute Flash movies 179 SCHEME attribute SAMP element 190 INDEX JANUARY 2002 93 104–105 SCROLLAMOUNT attribute TD,TH elements 131 SCROLLDELAY attribute TD,TH elements 131 SCROLLING attribute FRAME element 50 SCROLLSTOP element 105 SELBGCOLOR attribute SELECT element 111 SELECT element 106–111 SELECTED attribute OPTION element 99 SELTEXT attribute SELECT element 111 SHAPE attribute AREA element 19 SIZE attribute BASE element 22 FONT element 44 SELECT element 111 SPACER element 113 SMALL element 111 SPACER element 112–113 SRC attribute BGSOUND element 23 Flash movies 179 FRAME element 50 IMG element 65 SCRIPT element 105 START attribute OL element 97 STRIKE element 114 STRONG element 114 STYLE attribute DIV element 38 SUB element 115 SUP element 115 SCRIPT element META element A element 11 19 21 FORM element 48 TD,TH elements 129–136 TEXT attribute BODY element 30 SELECT element 111 TEXTAREA element 137–140 text/html 160 text/plain 160 TITLE element 140 TR element 141–142 TT element 142 tv: protocol 165 TYPE attribute LI element 81 LINK element 84 OL element 98 SPACER element 113 UL element 145 BASE element AREA element U U element UI attribute 143 Flash movies 179 UI sound 173 UL element 143–145 UP attribute A element 10 AREA element 19 USEMAP attribute IMG element 66 user interface sound 173 V VALIGN attribute TD,TH elements VALUE attribute LI element TEXTAREA element 136 142 T TABLE element 82 99 101 116–128 94 OPTION element PARAM element VAR element tables resizing images TARGET attribute 145 VLINK attribute JANUARY 2002 HTML REFERENCE, LIBERATE TV PLATFORM 191 BODY element VSPACE attribute 31 APPLET element IMG element 15 66 TABLE element 126 W WBR element 146 WIDTH attribute 15 Flash movies 180 HR element 58 IMG element 63 SPACER element 113 TABLE element 126 TD,TH elements 133 WRAP attribute PRE element 103 TEXTAREA element 140 APPLET element X XMP element 146 192 INDEX JANUARY 2002 California Member-Managed LLC Operating Agreement$19.95 Acknowledgment of Independent Contractor$8.95 Artist-Agent Engagement Agreement$8.95 Website Design Non-Disclosure$14.95 Employee Handbook for Company$39.95 Limited Liability Partnership Agreement$29.95 Office Lease Agreement$8.95 Other docs by Alex Cameron Using Eq Views: 118 | Downloads: 6 The Sectret of the mastering engineer Views: 128 | Downloads: 8 Recording Real Drums Views: 112 | Downloads: 9 Recording Lead Vocals Views: 141 | Downloads: 6 Recording in One Room Views: 105 | Downloads: 9 Recording Bass Guitar Views: 133 | Downloads: 8 Recording Acoustic Guitar Views: 113 | Downloads: 5 Practical Mixing Views: 80 | Downloads: 1 MediaFinance94 Views: 165 | Downloads: 2 iTV is dead_ Long live IPTV - Broadcast Engineering-Digital TX Limited _www.digitaltx.tv_ Views: 77 | Downloads: 1 IPTV-VoD.The.World.Thats.On.Its.Way-Digital.TX.Limited._www.digitaltx.tv_ Views: 63 | Downloads: 2 IPTV-VoD.The.Hare.And.The.Tortoise-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 79 | Downloads: 0 IPTV-VoD.The.Fall.Of.Contents.Kingdom-Digital.TX.Limited._www.digitaltx.tv_ Views: 48 | Downloads: 1 IPTV-VoD.Fast.Forward.To.Christmas.Future-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 58 | Downloads: 1 IPTV-VoD.Bursting.The.PPV.Bubble-Digital.TX.Limited._www.iptvworkshop.co.uk_ Views: 62 | Downloads: 1
This is normal text.This is one size smaller. This is normal text again.
Tonight’s menu features ginger-pineapple cous-cous served on a bed of organic wilted dandelions.
The rain in Spain falls mainly on the plains.
Symptoms: Type here
£