Technology Considerations

The SAM Web Standards recommends and embraces the adoption of progressive enhancement, 1, 2 whereby content (the data being consumed, transferred, and created) is considered first through semantic and accessible HTML, the style and interactions then utilize CSS whenever possible, with JavaScript being added as necessary.3,4

There are generally four major areas of code developed for the delivery of information over the Internet:

  1. A server-side language.
  2. The Hypertext Markup Language (HTML) itself for the display of content.
  3. Cascading Style Sheets (CSS), which lets the browser know how to render HTML elements visually (color, size, and so on).
  4. A client-side language (usually JavaScript)

When a user requests a URI, the server-side language (or framework) performs the duties of querying databases and preparing HTML content for the client.

HTML is the relatively static content interpreted by the browser for the display of content. Further, it plays the primary role in accessibility and assistive technologies; therefore, it should be well-formed (semantic) and as minimal as possible.

Cascading Style Sheets (CSS) are responsible for defining the aesthetic characteristics of the rendered page. Further, they play a secondary role in accessibility and assistive technologies. Finally, most modern browsers allow CSS to be used instead of JavaScript for things such as animations and device handling.

Client-side languages, which are executed on the user’s device. Client-side scripts can degrade battery life on mobile devices, exceed the limits of processor capabilities resulting in longer load times, or be disabled by the user altogether, which creates a poor experience. Therefore, client-side script capabilities should be created only once the core functionality and experience are complete.

Bandwidth and Processor Speeds

The SAM Web Standards recommends a mobile first approach to design and development. As part of this recommendation it is important to consider bandwidth constraints, caps of data plans, and processor speeds. Therefore, it is recommended that the majority of processes be performed server-side while delivering the minimum data required to the client-side to update a user. Further, mobile and tablet devices typically have less processing power and hardware resources available, which should also be taken into consideration when creating client-side scripts.

Secure by Default

There are two transfer protocols used to serve Web content: Hypertext Transfer Protocol (HTTP) and HTTP Secure (HTTPS). By default all uniform resource locators (URLs) should use HTTPS; an HTTP URL should redirect to the HTTPS equivalent.

No WWW

URLs should not require the use of “www”, as this represents a sub-domain and could lead to confusion if subdomains are implemented on the site. In other words, there is a question of whether the following are different sites or the same:

Human-Friendly and Readable

URLs should be case-insensitive; therefore, the following URL pairs should result in the display of the same content:

This allows communication and marketing collateral to be built in a more human-readable manner by using upper- and lower-case letters to separate words within URLs while supporting copy and paste of the URL into a browser.

Further, when developing page addresses and URLs a user should be able to gain a basic understanding of what they will see, for example: