1.1.1. This document defines the XHTML standards to which you MUST adhere when coding XHTML-based BBC sites.
1.2.1. You should read and adhere to this standard if you are an internal or third-party web designer coding a BBC site using XHTML.
2.1. You MUST use XHTML when coding BBC sites, UNLESS you are maintaining sites that use HTML and/or Barley , or creating sites using an HTML-based CMS.
3.1. A Doctype MUST be included, and the Doctype used MUST be as follows:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.2. The page MUST validate against this doctype using the W3C validator.
3.3. You MUST put the DTD on the first line of the document, to enable standards mode reliably.
3.4. You MUST specify the following xml namespace for the document in the html:
4.1. The BBC has statutory obligations, in terms of the Disability Discrimination Act (DDA), to produce accessible content. For details of this see the Accessibility Standards.
4.2.1. Due to accessibility concerns, you MUST NOT use sIFRs on bbc.co.uk without first discussing this with the Editor, Standards and Guidelines.
5.1. The BBC supports certain browsers, as listed in the Browser Support Standards.
5.2.1. You MUST have one, and only one, character set for the document.
5.2.2. When specifying the character set of the document, you MUST use
22.214.171.124. You should be cautious that some legacy systems have outputs that are not
UTF-8 which can cause conflicts. In this case the feed MUST be converted.
126.96.36.199. All new publishing systems MUST output as
5.2.3. You MUST set the character set and mime-type in the head of the document like so :
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
5.2.4. You MUST serve the file from the server with
5.2.5. You MUST NOT specify an xml prolog; that is,
N.B. The html file will be served as text/html.
5.2.6. You MUST specify the base language of the page in the html tag using both
xml:lang attributes; for example:
188.8.131.52. Please refer to this reference on language codes as defined under ISO 639.
6.1. Code which is produced and maintained by content production systems SHOULD be as compact and comment-free as possible, to minimise file size and download times (see the Download Standards).
6.2. If this is done, a readable version of the pre-published code SHOULD be available for maintenance purposes.
6.3. Code which is manually produced and maintained SHOULD be well laid out to ensure readability. Reasonable use of blank lines, indenting and comments to denote different sections of the page is encouraged. However, their use SHOULD be balanced with the same file size considerations as set out in section 6.1. above.
6.4. XHTML unary tags MUST include a space before the trailing slash to allow for backward compatibility and legibility, UNLESS they are generated by an XSLT processor that cannot be configured accordingly.
6.5. You MUST NOT use
<marquee> tags. This is due to accessibility and browser support issues.
6.6. For more details on XHTML refer to the following website: w3c.org/XHTML 1.0 The Extensible Hypertext Mark-up Language.
6.7.1. You MUST comply with the Semantic Mark-up Standard.
6.7.3. You MUST NOT deliver presentation with tables UNLESS the data is tabular.
7.1. All pages using this standard MUST comply with the bbc.co.uk Visual Language Standards.
8.1. You MUST obey the CSS Standard.
8.2. HTML pages MUST be readable without style sheets; that is, if style sheets have been turned off in the browser.
8.3. You MUST NOT use
!important as this prevents users overriding the style implied.
8.4. The font face MUST offer a generic font family as a last alternative that is available on all partially-supported browsers; for example,
8.5. Fonts MUST be easily resizable in all supported browsers.
8.6. Pages MUST be readable when the font size is increased by two steps in our supported browsers.
9.1. All images used in
<img> tags MUST be in either GIF, JPEG or PNG format, with the following proviso:
9.1.1. PNG files MAY be used, but MUST degrade gracefully, in line with the Browser Support Standards, and still allow for the core content of the site to be conveyed.
9.1.2. You SHOULD be cautious particularly when using PNG files with alpha transparency. Known issues at present include, but are not limited to, transparency with IE6.
9.2. When using an
img tag you MUST specify the height and width attributes.
9.3. You MUST NOT use height and width attributes to rescale images to provide thumbnail versions of the full image. Instead you MUST use a separate, resized image file.
9.4. Alternative text MUST be supplied as defined in the Textual Equivalents (Accessibility) Standards.
alt attributes makes these images inaccessible.
9.6. You MUST NOT use transparent spacer GIFs (that is, for layout purposes).
10.1. You MUST NOT use server-side imagemaps, as they are not accessible.
10.2. When using client-side imagemaps, you SHOULD use rectangular and circle definitions rather than poly-definitions, to minimise code size.
11.1. You MUST NOT have any comments in your code which endorse any company or individual UNLESS there is a copyright issue that requires it.
11.2. For internal systems you SHOULD highlight the location of support documentation.
11.3. You MUST NOT have any comments in your code which include more than two concurrent 'x' characters. Applications that restrict content containing 3 concurrent 'x' characters may believe your page contains adult content, and deny access accordingly.
12.1. A full default set of definitions for colours (equivalents of
bgcolor in html) MUST be specified in the page's CSS style-sheet.
12.2. All colour changes or background images within a document MUST be specified using CSS to enable graceful degradation.
12.3. You MUST always define a page background colour in your CSS, even if it is white.
12.4. Please also refer to the Use of Colour and Colour Contrast Standard.
13.1. bbc.co.uk sites MAY occasionally require a pop-up window to present content or a feature, such as broadband consoles, a radio player, or News AV.
13.2. Pop-ups MUST NOT open unannounced; for example, automatically on page load without being a direct result of user input.
13.3. Pop-ups MUST only open when a user has clicked a hypertext link.
13.4. You MUST NOT allow multiple pop-up windows to open from a single click.
13.5. You MUST clearly label links which launch pop-ups so that our audience know they are launching a pop-up.
13.6. You MUST give the pop-up focus when it launches. This must be specified in the code that launches the pop-up (not in an onload in the pop-up).
13.7. Pop-up windows SHOULD NOT have an initial size of more than 760 x 560 pixels, and MUST NOT have an initial size of more than 900 x 680 pixels.
13.8. Above 760 x 560 pixels, windows MUST NOT disable scrollbars.
13.9. Pop-up windows MUST be resizable by the user.
13.11. You SHOULD identify whether or not your pop-up is able to be indexed by web search agents. This is an editorial decision.
13.12. You MUST NOT allow pop-ups to be searched UNLESS they are "standalone" and do not require instructions for use on the page from which they are normally opened; for example, "This content requires the Flash plug-in...".
13.13. If your pop-up is searchable, you MUST include a "Go back to associated bbc.co.uk page" (or similar) link outside the viewable area of the pop-up.
14.1. If you wish to use Google Maps on your site, you MUST contact the Editor, Standards and Guidelines for advice on how you should do this.
15.1. Wherever possible, use the common BBC scripts that are provided for common tasks such as rollovers, plug-in detection, etc. A list of locations where you can find these scripts is available at BBC Site Tools [ Internal BBC document - gain access via your Technical Account Manager] and the BBC CGI Toolbox [ Internal BBC document - gain access via your Technical Account Manager].
15.2. For applications that process personal data you MUST adhere to the requirements of the Technical Implementation of the Data Protection Act (DPA).
16.1. All file and directory names (including file extensions) MUST be in lowercase and SHOULD NOT be overly long.
16.2. Non-alphanumeric characters MUST NOT be used in filenames, except for underscores, which MAY be used to separate words.
16.3. Underscores MUST NOT be used in top-level directory names and SHOULD NOT be used in other directory names. Top-level directory names are used to market bbc.co.uk sites and are advertised on Ceefax, which cannot display underscores.
16.4. Files MUST obey the File Extensions Standards.
16.5. Top-level directory names MUST follow the URL Requirements Standard.
16.6. Directories MUST NOT contain more than 1000 files or folders. If you have more than this, create sub-directories.
16.7. The total weight of all code and called assets within a page SHOULD be as small as possible and you SHOULD have as few objects as possible (for example, images) called to a page to minimise download time.
16.8. Any files over 500k MUST be served from downloads.bbc.co.uk, unless they are Real or Windows Media files. For serving of Real and Windows Media files refer to the Audio Video Standards.
17.1. As part of the BBC's service to its audiences, bbc.co.uk MUST provide facilities for those users to ask questions and provide feedback to the sites' producers.
17.2. Customised feedback pages MUST be made for each site with a top-level directory (or redirect).
18.1. You MUST NOT cause/allow 404 errors to appear on bbc.co.uk.
18.2. You MUST NOT cause/allow server-side include (SSI) errors to appear on bbc.co.uk.
18.3. You MUST NOT disguise/hide SSI errors, using the
config errmsg control.
18.4. You MUST NOT cause SSI errors by design as a function of your site.
18.5. Customised error pages MUST have a minimal download size and SHOULD provide additional local help to the standard error page for bbc.co.uk.
18.6. You MUST NOT link to www0.bbc.co.uk, or any single BBC server in any link. This will not work from outside the BBC and will present a 404 error to the user.
19.1. You MUST NOT rely on the accuracy of referrer information, as this is often removed or spoofed.
19.2.1. You MUST NOT use the user agent to distinguish between mobile and non-mobile browser version.
|29/07/2008||v1.2||Section 5.2 modified to specify that the character set used must be UTF-8.||Victoria Jolliffe, Nick Holmes|
|11/04/2008||v1.1||Added sections 4.2.1. on sIFR usage and 14.0. on Google Maps usage.||Victoria Jolliffe, Nick Holmes|
|12/03/2008||v1.0||Final Release Version||Victoria Jolliffe, Nick Holmes|
|07/03/2008||v0.4||Principles, and audience added to introduction. Document checked for sense and grammar.||Victoria Jolliffe|
|11/02/2008||v0.3||HTML Group edits||Nick Holmes|
|20/12/2007||v0.2||HTML Group edits||Nick Holmes|
|27/03/2007||v0.1||Taken from HTML Integrity standard 1.3 and altered appropriately||Nick Holmes|
Like all other Future Media Standards & Guidelines, this page is updated on a regular basis, through the process described on About Standards & Guidelines.