Testing and implementation
Browser testing
When to test
You should test browsers as part of your normal development and/or quality control process when:
- developing a new website or web application
- adding new content to an existing website that may introduce compatibility issues. Some types of content are more likely to introduce issues than others. Use your discretion when considering which types of content to test
- making changes to technologies affecting the presentation or behaviour
- responding to a complaint that a particular feature, page or specific functionality is not operable in a particular browser. This testing is aimed at replicating the issue and ascertaining the extent of the problem—does this problem occur in any other browser on the full support or reduced support lists?
What to test
Websites
Websites that use templates for the main layout elements reduce the likelihood of inconsistencies between pages. If templates are being used, you must test at least a representative sample of pages, but you may also perform more thorough testing.
Choose pages for testing on the basis that they contain different types of content or functionality.
For websites that do not use templates for the main layout elements, you should test all pages.
Web applications
For web applications and web forms, you should typically test all screens and functionality with all browsers on the full support or reduced support lists.
You can test only a representative sample page if screens share identical functionality (differ only by content), and the identical functionality is achieved through the use of re-usable components, templates or library code.
General testing
It is important to determine if errors are the result of compatibility issues or technical errors in the candidate pages.
Agency web pages must adhere to the Digital services policy and meet accepted web standards. Browser compatibility issues are easier to identify and resolve if pages meet these standards.
Valid code
Check that code validates and markup is well-formed and appropriate:
Valid code can help determine if behaviour errors are from browser compatibility issues or bugs. There are many HTML, CSS, and JavaScript validation tools available as online resources or applications.
- Well-formed, semantic markup can help determine if accessibility issues are caused by browser compatibility issues and bugs.
Accessibility
Check for errors that may cause issues with accessibility.
Various accessibility checking tools are available as online resources, applications and browser extensions.
Finding and correcting accessibility errors can help determine if pages are functioning correctly with assistive devices.
Layout
Check layout at various screen sizes for layout and presentation issues.
Check orientation of screens on portable devices
Check screens sizes from small mobile to large desktop.
Functionality
Check functionality and behaviour of interactive and dynamic elements.
- Dynamic and interactive behaviours may be different for various screen sizes.
Note: Even browsers with high support for current web technologies and standards may render content and behave differently. For example, the appearance of text and elements rendered by the browser (such as form elements and controls) may differ between browsers and platforms. These differences should not be considered errors.
Implementation
- You should focus initial development and testing on browsers with a high level of standards compliance. You can then apply fixes and workarounds to address specific issues for less compliant browsers. Beta-release browsers will receive unspecified support. We update the full support list as new browsers and browser versions reach statistical prevalence or are otherwise determined to be 'important'.
- Where possible, develop to international web standards and use open formats.
- Develop with the aim of delivering content first, then features. Ideally, unsupported features in browsers should not restrict the delivery of content. Be mindful of techniques such as graceful degradation and progressive enhancement.