Skip to content

Configuration ​

Customize BrowseAid Widget to match your website's needs and your users' preferences with our comprehensive configuration options.

Configuration Methods ​

1. Global Configuration Object ​

Set configuration before the widget loads by defining a global options object:

javascript
// Define configuration before loading the widget
window.BrowseAidOptions = {
    theme: 'v2',
    position: {
        button: 'right-bottom',
        widget: 'right'
    }
};

// Then load the widget script
<script src="https://storage.browseaid.com/latest/assets/index.js" type="module"></script>

2. Programmatic API Configuration ​

Use the widget API after initialization:

javascript
// Wait for widget to be ready
document.addEventListener('browseaid:init', function() {
    // Enable specific tools
    window.BrowseAidWidget.api.enableTool('dark-mode');
    window.BrowseAidWidget.api.enableTool('font-size', { level: 120 });

    // Set language
    window.BrowseAidWidget.api.setLanguage('es');
});

Best Practices ​

1. Wait for Initialization ​

Always wait for the widget to initialize before using the API:

javascript
document.addEventListener('browseaid:init', function() {
    // Safe to use API here
    window.BrowseAidWidget.api.enableTool('dark-mode');
});

2. Graceful Degradation ​

Check for widget availability:

javascript
function enableAccessibilityFeature(toolName, options = {}) {
    if (window.BrowseAidWidget?.api) {
        try {
            window.BrowseAidWidget.api.enableTool(toolName, options);
        } catch (error) {
            console.warn(`Could not enable ${toolName}:`, error.message);
        }
    }
}

3. Respect User Preferences ​

Don't override user's saved preferences unless necessary:

javascript
// Check current state before changing
const currentState = window.BrowseAidWidget.api.getToolState('dark-mode');
if (!currentState?.enabled) {
    // Only enable if user hasn't already disabled it
    window.BrowseAidWidget.api.enableTool('dark-mode');
}

Next Steps ​

Now that you understand configuration:

  1. 📖 See Options Reference for complete configuration details
  2. 🛠️ Explore the API Reference for programmatic control
  3. 📚 Check Tool Documentation for tool-specific options

BrowseAid Documentation