inclusive-menu-button
Version:
A menu button module that implements the correct ARIA semantics and keyboard behavior.
68 lines (62 loc) • 1.64 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="../inclusive-menu-button.css" />
<style>
/* basic page styles */
html {
font-size: 150%;
font-family: sans-serif;
padding: 1em;
}
* {
font-size: inherit;
font-family: inherit;
}
/* custom theming */
button {
padding: 0.25rem 1rem;
background: black;
color: white;
}
button:focus {
outline: none;
background-color: #3737c8;
}
[data-inclusive-menu] [role^="menuitem"] {
margin-top: 3px;
}
</style>
<title>
Inclusive Menu Button | Basic Example
</title>
</head>
<body>
<div data-inclusive-menu>
<button data-inclusive-menu-opens="edit">
Edit
<span aria-hidden="true">▾</span>
</button>
<div id="edit" data-inclusive-menu-from="left">
<button>Undo</button>
<button>Redo</button>
<button>Cut</button>
<button>Copy</button>
<button>Paste</button>
</div>
</div>
<script src="../inclusive-menu-button.js"></script>
<script>
// Instantiation
var exampleButton = document.querySelector('[data-inclusive-menu-opens]')
var exampleMenuButton = new MenuButton(exampleButton)
// Listen to choose event
exampleMenuButton.on('choose', function(choice) {
console.log('You chose "' + choice.textContent + '"')
})
</script>
</body>
</html>