Skip to main content

High Contrast Mode

This document guides you with the steps to test your website on browsers with high contrast mode enabled.

Accessibility testing ensures that your website is accessible to all kinds of users. Using the BrowserStack high contrast mode capability, you can now conduct Accessibility testing of your websites on BrowserStack Automate. Using our custom capability you will be able to test whether your website renders properly in the high contrast mode of the browser.

High contrast is disabled by default. You can enable them by using the browserstack.high_contrast capability.

Capabilities Description Expected values
browserstack.high_contrast Enable high contrast mode. A string. Default is false
true if you want to enable high contrast mode. false otherwise.
Note: High contrast mode is only supported on different versions of Firefox, Internet Explorer and Edge browsers running on Windows 10, 8.1, 8, and 7.

The following sample script will run the test on a high contrast mode enabled browser:

// Sample test in Java to run Automate session.
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class JavaSample {
  public static final String AUTOMATE_USERNAME = "YOUR_USERNAME";
  public static final String AUTOMATE_ACCESS_KEY = "YOUR_ACCESS_KEY";
  public static final String URL = "https://" + AUTOMATE_USERNAME + ":" + AUTOMATE_ACCESS_KEY + "";
  public static void main(String[] args) throws Exception {
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("os_version", "10");
    caps.setCapability("resolution", "1920x1080");
    caps.setCapability("browser", "Firefox");
    caps.setCapability("browser_version", "80.0");
    caps.setCapability("os", "Windows");
    caps.setCapability("name", "BStack-[Java] Sample Test"); // test name
    caps.setCapability("build", "BStack Build Number 1"); // CI/CD job or build name
    caps.setCapability("browserstack.highContrast", "true");
    WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
    WebElement element = driver.findElement("q"));
var webdriver = require('selenium-webdriver');
// Input capabilities
var capabilities = {
 'os_version' : '10',
 'resolution' : '1920x1080',
 'browserName' : 'Firefox',
 'browser_version' : '80.0',
 'os' : 'Windows',
 'name': 'BStack-[NodeJS] Sample Test', // test name
 'build': 'BStack Build Number 1', // CI/CD job or build name
 'browserstack.user' : 'YOUR_USERNAME',
 'browserstack.key' : 'YOUR_ACCESS_KEY',
 'browserstack.highContrast': 'True'
var driver = new webdriver.Builder().usingServer('').
    driver.getTitle().then(function(title) {
// Sample test in Java to run Automate session.
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Remote;
namespace SeleniumTest {
  class Program {
    static void Main(string[] args) {
      IWebDriver driver;
      OpenQA.Selenium.Firefox.FirefoxOptions capability = new OpenQA.Selenium.Firefox.FirefoxOptions();
      capability.AddAdditionalCapability("os_version", "10", true);
      capability.AddAdditionalCapability("resolution", "1920x1080", true);
      capability.AddAdditionalCapability("browser", "Firefox", true);
      capability.AddAdditionalCapability("browser_version", "80.0", true);
      capability.AddAdditionalCapability("os", "Windows", true);
      capability.AddAdditionalCapability("name", "BStack-[C_sharp] Sample Test", true); // test name
      capability.AddAdditionalCapability("build", "BStack Build Number 1", true); // CI/CD job or build name
      capability.AddAdditionalCapability("browserstack.user", "YOUR_USERNAME", true);
      capability.AddAdditionalCapability("browserstack.key", "YOUR_ACCESS_KEY", true);
      capability.AddAdditionalCapability("browserstack.highContrast", "true", true);
            driver = new RemoteWebDriver(
              new Uri(""), capability
            IWebElement query = driver.FindElement(By.Name("q"));
  use Facebook\WebDriver\Remote\RemoteWebDriver;
  use Facebook\WebDriver\WebDriverBy;
  $caps = array(
    "os_version" => "10",
    "resolution" => "1920x1080",
    "browser" => "Firefox",
    "browser_version" => "80.0",
    "os" => "Windows",
    "name" => "BStack-[Php] Sample Test", // test name
    "build" => "BStack Build Number 1", // CI/CD job or build name
    "browserstack.highContrast" => "true"
  $web_driver = RemoteWebDriver::create(
  $element = $web_driver->findElement(WebDriverBy::name("q"));
  if($element) {
  print $web_driver->getTitle();
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
desired_cap = {
 "os" : "Windows",
 "os_version" : "10",
 "browser" : "Firefox",
 "browser_version" : "80.0",
 "name": "BStack-[Python] HCM Test", # test name
 "build": "BStack Build Number 1",
 "browserstack.highContrast": "true"
driver = webdriver.Remote(
if not "Google" in driver.title:
    raise Exception("Unable to load google page!")
elem = driver.find_element_by_name("q")
require 'rubygems'
require 'selenium-webdriver'
# Input capabilities
caps =
caps['device'] = 'iPhone 8 Plus'
caps['realMobile'] = 'true'
caps['os_version'] = '12'
caps['name'] = 'BStack-[Ruby] Sample Test' # test name
caps['build'] = 'BStack Build Number 1' # CI/CD job or build name
caps["browserstack.highContrast"]: "true"
driver = Selenium::WebDriver.for(:remote,
  :url => "",
  :desired_capabilities => caps) ""
element = driver.find_element(:name, 'q')
element.send_keys "BrowserStack"
puts driver.title
use Selenium::Remote::Driver;
#Input capabilities
my $extraCaps = {
  'os_version' => '10',
  'resolution' => '1920x1080',
  'browser' => 'Firefox',
  'os' => 'Windows',
  'browser_version' => '80.0',
  'name' => 'BStack-[Perl] Sample Test', # test name
  'build' => 'BStack Build Number 1',
  'browserstack.highContrast' => 'true' # CI/CD job or build name
my $login = "YOUR_USERNAME";
my $key = "YOUR_ACCESS_KEY";
my $host = "$login:$key\";
my $driver = new Selenium::Remote::Driver('remote_server_addr' => $host,
  'port' => '80', 'extra_capabilities' => $extraCaps);
print $driver->get_title();

Following is the screenshot from the test as run through the script above. It shows the website getting rendered on a high contrast enabled browser on the BrowserStack Automate platform:

Google results with high contrast mode

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked

Thank you for your valuable feedback

Is this page helping you?


We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked

Thank you for your valuable feedback!

Talk to an Expert
Talk to an Expert