Web Technology Notes

How to get the best from this website

You are viewing this page using a web browser. There are many different web browsers available, and many different versions of each. The name of the browser you are using is very probably visible in the title bar at the top of the browser window right now. The majority of users online at the moment use Microsoft Internet Explorer, but I believe that using Internet Explorer is a mistake.

Web standards

The web pages you are looking at are, underneath all the colours and graphics, just text files. Without a web browser, they would simply appear as a lot of messy-looking text. The web browser is able to convert these text files into the web page you see because web pages are written in a language called HTML.

HTML started off quite simple. For example, you markup a paragraph of text by placing it inside a pair of p tags, so that it looks like this:

<p>This is a paragraph.</p>

As the web became more popular, HTML became increasingly loaded with features. The only way for web browsers on different computing platforms (such as Microsoft Windows, Apple Macintosh, UNIX, Linux, and BSD machines) to render each web page as the author intended, or very closely, is if a set of technology standards is agreed, adopted and adhered to.

There is a detailed set of standards that discuss how web technologies like HTML should work. These are maintained by the World Wide Web Consortium, also known as the W3C. The W3C holds the standards for HTML and XHTML, CSS, XML, XSLT and XPATH, all of which were used to create this site.

What happens when standards are ignored

Problems arise if standards for the web are ignored by software developers who are working on web browsers. Non-standard browsers render web pages differently to standards-compliant browsers. Page layout appears different, and some features of a page may not appear at all, or may appear to malfunction. The more complicated a page is, the more likely it is to appear different when you view it on different browsers.

In the past, Microsoft have been one of the main offenders in forsaking the standards creation and adherence process. In a rush to get people to use their new web browser, named Internet Explorer, they added features to their page rendering engine, and didn't bother to consult with the standards bodies. This meant that pages built to appear correct in Internet Explorer would often fail to appear at all in Netscape (which was a major competitor until the turn of the century).

This difficulty in getting pages to behave equally across both of the main browsers was severely frustrating for web developers. But for the people browsing the web, it was even more irritating.

The attitude of this web site

This web site aims to be compliant with the standards set out by the W3C. It uses XHTML 1.0 and CSS 2.1, and it complies to the standards set out for those technologies by the W3C. That way, the site should appear almost exactly the same on all browser software that adheres to those standards.

However, I am aware that some browsers do not implement these standards completely, and some do not implement them at all. Of particular note is Internet Explorer. Whereas Microsoft used to devote a lot of their energy to keeping their browser at the front of the pack, their zeal seems to have worn off now they have achieved the biggest 'market share' of web users. In fact, Internet Explorer has not seen any real features added to it for some time, and its support of CSS is fairly poor. CSS is used to tell a web browser how to layout, colour, size and style the content on a web page, so it is vital for the rendering of web pages. Microsoft have, in the past, ignored the standards process for CSS altogether, and simply added features as they see fit.

This means there are CSS fetaures that will only ever work in Internet Explorer browsers (but not in Internet Explorer for the Macintosh platform, which behaves differently again). There is also a large list of CSS 2.1 features that are part of the W3C standard, which are not yet implemented by Internet Explorer. [See CSS contents and browser compatibility for an up-to-date list.]

Consequently, it is still difficult to create a standards-compliant site that displays correctly in all of the main browsers. Because Internet Explorer still does a bad job of rendering valid CSS, and seemingly nobody at Microsoft is trying to fix this situation, parts of this site may not look correct in Internet Explorer.

For instance, Internet Explorer does not automatically add quote-marks around content that is marked-up inside a q (quote) element, even though the W3C standards state that this is a requirement of CSS 2.1. And because the :before and :after pseudo-elements have not been implemented in Internet Explorer, it's not possible to force quote-marks around the quoted text. So I've had to simply make quoted text appear bold when viewed with Internet Explorer, which looks ugly. I recommend you use a better browser.

Update: Internet Explorer 7 has been released, and you should receive it via auto update, or you can download it from Microsoft's website. However, while IE7 has made some steps towards standards compliance, it still misses a lot out. For instance, IE7 still does not add quote-marks around q elements, so this site still isn't being rendered properly. I still recommend you don't use Internet Explorer.

Update: Internet Explorer 8 finally adds support for the q element, so quoted text is at least wrapped in quotation marks. But Microsoft's browser is still way behind in support for CSS, so I still recommend users abandon Internet Explorer and move to a better web browser.

Better web browsers

I have tested this site in several other web browsers, and each displays the site as it was intended to appear.

The first browser does a lot to meet the W3C standards, and it is completely free of charge for people who want to use it. Its name is Mozilla Firefox. Visit the mozilla.com site for instructions on how to download, install, and use Mozilla as your web browser. You'll not have to pay a penny to use it, and it doesn't come with any adware or spyware.

The next browser is Opera. Opera works very at being standards-compliant, and tends to score the most highly in the Acid Tests. Opera is not open source like Mozilla, but you are allowed to use it for free. The free version used to feature an advertising banner, but this was removed long ago. Opera is available for Windows, Linux, and other operating systems.

I've also tested Konqueror and Epiphany in Linux, and both render this site perfectly well. Epiphany uses the same rendering engine (WebKit) as Apple's web browser Safari.

I also test my site from time to time using a browser called Lynx. Lynx is a text browser, which means it does not display any images at all. Not a single graphic file displays in Lynx, and CSS stylesheets are generally ignored, so it is very important that the text is marked up correctly, and any images are given an alt attribute which describes what the image would have shown were it displayed. Even without images, this site renders cleanly in Lynx, and quotes are correctly surrounded by quote-marks.

Accessibility

Another, very important reason to abide by standards is that it makes it easier for people with accessibility problems to make use of the web. For example, people who have sight problems need to use specialist browsers that either read the page text to them, or send it to a Braille display unit so they can read it with their sensitive fingers. This task is made harder if web pages are full of poorly marked-up content.

I'm hoping that this site is simple enough to be accessible by all visitors. It does not use graphics without offering an alternative description of the graphic in textual form. And I've tried to stick to the accessibility guidelines that I've found. But the fact remains, it is very hard for me to test my site from an accessibility point of view, as I do not suffer sight or reading problems. Nor do I know anyone who does. So I am certain that there are big blunders in this site. But if you are having trouble with this site, and have any tips for making this site easier to use, please contact me.