<div>
<a data-micromodal-trigger="modal-1" href="#">Modale</a>
</div>
<div class="modal micromodal-slide" id="modal-1" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close>
<div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
<header class="modal__header">
<span class="modal__closetext">Fermer</span><button class="modal__close" aria-label="Close modal" data-micromodal-close></button>
</header>
<main class="modal__content" id="modal-1-content">
<p class="modal__title">Donec ornare sem sem, sed blandit ligula gravida eu.</p>
<p class="modal__text">Nam vestibulum ipsum enim, in lobortis risus ornare quis. Cras fermentum quam quis bibendum tristique. Sed vel turpis pretium, consectetur ligula ut, efficitur libero. Nunc risus massa, pharetra at rhoncus eu, convallis in libero. Etiam
fermentum porttitor nisl a mollis. Morbi at lorem mi. Sed vel justo sit amet lacus tempor egestas. Aliquam vel aliquam lacus. Praesent nec ipsum magna. Cras vel sapien mauris. Etiam fringilla facilisis nunc et laoreet.</p>
</main>
<footer class="modal__footer">
<button class="btn btn-primary" data-micromodal-close aria-label="Close this dialog window">supprimer</button>
</footer>
</div>
</div>
</div>
<script type="text/javascript" src="../../js/vendors/micromodal/micromodal.js"></script>
<script>
MicroModal.init({
openTrigger: 'data-micromodal-trigger',
closeTrigger: 'data-micromodal-close',
disableScroll: true,
disableFocus: false,
awaitOpenAnimation: false,
awaitCloseAnimation: true
});
</script>
<div>
<a data-micromodal-trigger="modal-1" href="#">Modale</a>
</div>
<div class="modal micromodal-slide" id="modal-1" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close>
<div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title">
<header class="modal__header">
<span class="modal__closetext">Fermer</span><button class="modal__close" aria-label="Close modal" data-micromodal-close></button>
</header>
<main class="modal__content" id="modal-1-content">
<p class="modal__title">{{title}}</p>
<p class="modal__text">{{text}}</p>
</main>
<footer class="modal__footer">
<button class="btn btn-primary" data-micromodal-close aria-label="Close this dialog window">supprimer</button>
</footer>
</div>
</div>
</div>
<script type="text/javascript" src="../../js/vendors/micromodal/micromodal.js"></script>
<script>
MicroModal.init({
openTrigger: 'data-micromodal-trigger',
closeTrigger: 'data-micromodal-close',
disableScroll: true,
disableFocus: false,
awaitOpenAnimation: false,
awaitCloseAnimation: true
});
</script>
{
"title": "Donec ornare sem sem, sed blandit ligula gravida eu.",
"text": "Nam vestibulum ipsum enim, in lobortis risus ornare quis. Cras fermentum quam quis bibendum tristique. Sed vel turpis pretium, consectetur ligula ut, efficitur libero. Nunc risus massa, pharetra at rhoncus eu, convallis in libero. Etiam fermentum porttitor nisl a mollis. Morbi at lorem mi. Sed vel justo sit amet lacus tempor egestas. Aliquam vel aliquam lacus. Praesent nec ipsum magna. Cras vel sapien mauris. Etiam fringilla facilisis nunc et laoreet."
}
Tiny, dependency-free javascript library for creating accessible modal dialogs
The aim of this library is to make modal dialogs accessible and easy to include in your project with minimum configuration. It’s only ~1.8kb minified and gzipped - A tiny library for big change.
✔ Toggles relevant aria attributes on open and close
✔ Closes modal on overlay click
✔ Closes modal on pressing the esc key
✔ Traps tab focus within the modal
✔ Focuses on the first focusable element within the modal
✔ Retains the focused element state after closing the modal
via npm
npm install micromodal --savevia yarn
yarn add micromodalvia CDN direct link
<script src="https://cdn.jsdelivr.net/npm/micromodal/dist/micromodal.min.js"></script>
<!-- or -->
<script src="https://unpkg.com/micromodal/dist/micromodal.min.js"></script>direct download
curl -o https://unpkg.com/micromodal/dist/micromodal.min.js
Please use this pollyfill suggested here.
Find the latest changelog here.
We are always open and invite developers to contribute to Micromodal. We have kept the guidelines and process dead simple, so you invest more time in making modals accessible to all.
Micromodal follows the standardjs coding standard and is part of our package.json file. It will help us to maintain consistency in the code base.
$ git clone https://github.com/ghosh/micromodal.gityarn package manager (Read installation guide)yarn install in the root folder to install all dependenciesyarn dev to start a dev server. This serves the example directory and live reloads when any files are changedyarn build to build the files for distribution. This is run automatically as a pre-commit hook as well.
This project is licensed under MIT license.
You can mention us on Twitter for any questions, suggestions or just send us funny GIF. We ♥️ GIFs.
Tweet about Micromodal and help us to spread the message about the importance of Web accessibility and Inclusive design.
Indrashish Ghosh – @_ighosh 🇮🇳
Kalpesh Singh - @knowkalpesh 🇮🇳
Darpan Kakadia - @kakadiadarpan 🇩🇪
Contributors - list 🌐