# User Agent Support Notes for Client-side Scripting Techniques

This page documents user agent support notes for Client-side Scripting Techniques.

## SCR19: Using an onchange event on a select element without causing a change of context

This technique has been tested on Windows XP using JAWS 7.0 and WindowEyes 5.5 with both Firefox 1.5 and IE 6. Note that JavaScript must be enabled in the browser.

## SCR21: Using functions of the Document Object Model (DOM) to add content to a page

This example was successfully tested on Windows XP with IE 6 and Firefox 1.5.0.1 using both JAWS 7 and WindowEyes 5.5. Note that when adding new content onto a page, the screen readers may not automatically speak the new content. In order to ensure that new content is spoken, set focus to the new element or make certain that it is added below the current location and will be encountered as the user continues to traverse the page.

## SCR29: Adding keyboard-accessible actions to static HTML elements

HTML 4.01 only defines the tabindex attribute for `a`, `area`, `button`, `input`, `object`, `select`, and `textarea`, and limits its value to the range between 0 and 32767. The use of `tabindex` with other element types and the tabindex value -1 is supported in Internet Explorer 5.01 and higher, and Firefox 1.5 and higher, Opera 9.5 and higher and Camino. Note that modifying focus through script can cause unpredictable behavior in screen readers that use a virtual cursor.

## SCR31: Using script to change the background color or border of the element with focus

This technique can be used on user agents that don't support the `:focus` pseudoclass but do support script, including Microsoft Internet Explorer.

## SCR34: Calculating size and position in a way that scales with text size

Calculating size and position can be complex and different browsers can produce different results. This can occur when the CSS styling mixes padding, margins and widths for an object, or when it mixes an offset and plain value, e.g., offsetWidth and width. Some of these behave differently in reaction to zooming. See MSDN: Fix the Box Instead of Thinking Outside It for an explanation of the way that Internet Explorer 6 and later differ from earlier versions of Internet Explorer.