Package Exports
- smart-outline
 
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (smart-outline) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Smart Outline 
Disabling focus outline without breaking accessibility. This library will only disable the focus outline when the user is using his mouse to navigate your web page. Once a users starts using his keyboard the outline is activated again resulting in the best of both worlds, visually and accessibility wise.
Demo
Usage
This library supports both AMD and CommonJS module loading and it falls back
to a global smartOutline object.
// use RequireJS
var smartOutline = require('smartOutline');
// ES6
import smartOutline from 'smartOutline';
// Load via script tag
<script src="https://cdn.rawgit.com/ambassify/smart-outline/master/main.js"></script>
smartOutline.init();Initialize with custom configuration
smartOutline.init({ domId: 'my-custom-id' });
Run demo page
Execute following command:
npm run serve
and navigate to http://127.0.0.1:7000.
Unit Tests
npm test
You can also view the online QUnit test page.
Options
| Option | Type | Description | 
|---|---|---|
| domId | string | 
ID that is assigned to the style element that gets injected in the DOM | 
| hideFocusCSS | string | 
Overwrite the default CSS to hide the focus outline when a user is using the mouse | 
Methods
| Method | Return | Description | 
|---|---|---|
| .init() | HTMLElement | 
Check is smart outline is active | 
| .isKeyboardUser() | boolean | 
Return true if the current user is a keyboard user | 
| .isEnabled() | boolean | 
Check is smart outline is active | 
| .destroy() | null | 
Disable smart outline by remove injected style element and all event listeners | 
Browser Support
- Chrome
 - Firefox
 - Safari
 - Opera
 - IE 9+
 - Edge