diff --git a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
index a9ba444..db2f244 100644
--- a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
+++ b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
@@ -16,19 +16,19 @@
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 * ======================================================================== */
-  
- 
- (function($) { 
-  "use strict"; 
+
+
+ $(function() {
+  "use strict";
 
   // GENERAL UTILITY FUNCTIONS
   // ===============================
-  
+
   var uniqueId = function(prefix) {
       return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1)
   }
 
-  
+
   var removeMultiValAttributes = function (el, attr, val) {
    var describedby = (el.attr( attr ) || "").split( /\s+/ )
       , index = $.inArray(val, describedby)
@@ -100,7 +100,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     return ( /input|select|textarea|button|object/.test( nodeName ) ?
     !element.disabled :
     "a" === nodeName ?
-    element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible  
+    element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible
   }
   var visible = function ( element ) {
     return $.expr.filters.visible( element ) &&
@@ -219,7 +219,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
 
   // Tab Extension
   // ===============================
-  
+
   var $tablist = $('.nav-tabs, .nav-pills')
         , $lis = $tablist.children('li')
         , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]')
@@ -391,7 +391,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     }
 
     $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' ,  $.fn.collapse.Constructor.prototype.keydown);
-    
+
 
 // Carousel Extension
   // ===============================
@@ -720,4 +720,4 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     $(document).on('keydown.carousel.data-api', 'li[role=tab]', $.fn.carousel.Constructor.prototype.keydown);
 
 
- })(jQuery);
\ No newline at end of file
+ });
diff --git a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
index f67aac6..586c5c7 100644
--- a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
+++ b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
@@ -1,4 +1,3 @@
-/*! bootstrap-accessibility-plugin - v1.0.6 - 2020-05-07
-* https://github.com/paypal/bootstrap-accessibility-plugin
-* Copyright (c) 2020 PayPal Accessibility Team; Licensed BSD */
-!function($){"use strict";var uniqueId=function(prefix){return(prefix||"ui-id")+"-"+Math.floor(1e3*Math.random()+1)},focusable=function(element,isTabIndexNotNaN){var map,mapName,img,nodeName=element.nodeName.toLowerCase();return"area"===nodeName?(map=element.parentNode,mapName=map.name,element.href&&mapName&&"map"===map.nodeName.toLowerCase()?(img=$("img[usemap='#"+mapName+"']")[0],!!img&&visible(img)):!1):(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:"a"===nodeName?element.href||isTabIndexNotNaN:isTabIndexNotNaN)&&visible(element)},visible=function(element){return $.expr.filters.visible(element)&&!$(element).parents().addBack().filter(function(){return"hidden"===$.css(this,"visibility")}).length};$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName)}}):function(elem,i,match){return!!$.data(elem,match[3])},focusable:function(element){return focusable(element,!isNaN($.attr(element,"tabindex")))},tabbable:function(element){var tabIndex=$.attr(element,"tabindex"),isTabIndexNaN=isNaN(tabIndex);return(isTabIndexNaN||tabIndex>=0)&&focusable(element,!isTabIndexNaN)}}),$(".modal-dialog").attr({role:"document"});var modalhide=$.fn.modal.Constructor.prototype.hide;$.fn.modal.Constructor.prototype.hide=function(){modalhide.apply(this,arguments),$(document).off("keydown.bs.modal")};var modalfocus=$.fn.modal.Constructor.prototype.enforceFocus;$.fn.modal.Constructor.prototype.enforceFocus=function(){var $content=this.$element.find(".modal-content"),focEls=$content.find(":tabbable"),$lastEl=$(focEls[focEls.length-1]),$firstEl=$(focEls[0]);$lastEl.on("keydown.bs.modal",$.proxy(function(ev){9!==ev.keyCode||ev.shiftKey|ev.ctrlKey|ev.metaKey|ev.altKey||(ev.preventDefault(),$firstEl.focus())},this)),$firstEl.on("keydown.bs.modal",$.proxy(function(ev){9===ev.keyCode&&ev.shiftKey&&(ev.preventDefault(),$lastEl.focus())},this)),modalfocus.apply(this,arguments)};var $par,firstItem,toggle="[data-toggle=dropdown]",focusDelay=200,menus=$(toggle).parent().find("ul").attr("role","menu"),lis=menus.find("li").attr("role","presentation");lis.find("a").attr({role:"menuitem",tabIndex:"-1"}),$(toggle).attr({"aria-haspopup":"true","aria-expanded":"false"}),$(toggle).parent().on("shown.bs.dropdown",function(e){$par=$(this);var $toggle=$par.find(toggle);$toggle.attr("aria-expanded","true"),$toggle.on("keydown.bs.dropdown",$.proxy(function(ev){setTimeout(function(){firstItem=$(".dropdown-menu [role=menuitem]:visible",$par)[0];try{firstItem.focus()}catch(ex){}},focusDelay)},this))}).on("hidden.bs.dropdown",function(e){$par=$(this);var $toggle=$par.find(toggle);$toggle.attr("aria-expanded","false")}),$(document).on("focusout.dropdown.data-api",".dropdown-menu",function(e){var $this=$(this),that=this;$this.parent().hasClass("open")&&setTimeout(function(){$.contains(that,document.activeElement)||$this.parent().find("[data-toggle=dropdown]").dropdown("toggle")},150)}).on("keydown.bs.dropdown.data-api",toggle+", [role=menu]",$.fn.dropdown.Constructor.prototype.keydown);var $tablist=$(".nav-tabs, .nav-pills"),$lis=$tablist.children("li"),$tabs=$tablist.find('[data-toggle="tab"], [data-toggle="pill"]');$tabs&&($tablist.attr("role","tablist"),$lis.attr("role","presentation"),$tabs.attr("role","tab")),$tabs.each(function(index){var tabpanel=$($(this).attr("href")),tab=$(this),tabid=tab.attr("id")||uniqueId("ui-tab");tab.attr("id",tabid),tab.parent().hasClass("active")?(tab.attr({tabIndex:"0","aria-selected":"true","aria-controls":tab.attr("href").substr(1)}),tabpanel.attr({role:"tabpanel",tabIndex:"0","aria-hidden":"false","aria-labelledby":tabid})):(tab.attr({tabIndex:"-1","aria-selected":"false","aria-controls":tab.attr("href").substr(1)}),tabpanel.attr({role:"tabpanel",tabIndex:"-1","aria-hidden":"true","aria-labelledby":tabid}))}),$.fn.tab.Constructor.prototype.keydown=function(e){var $items,index,$this=$(this),$ul=$this.closest("ul[role=tablist] "),k=e.which||e.keyCode;if($this=$(this),/(37|38|39|40)/.test(k)){$items=$ul.find("[role=tab]:visible"),index=$items.index($items.filter(":focus")),(38==k||37==k)&&index--,(39==k||40==k)&&index++,0>index&&(index=$items.length-1),index==$items.length&&(index=0);var nextTab=$items.eq(index);"tab"===nextTab.attr("role")&&nextTab.tab("show").focus(),e.preventDefault(),e.stopPropagation()}},$(document).on("keydown.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',$.fn.tab.Constructor.prototype.keydown);var tabactivate=$.fn.tab.Constructor.prototype.activate;$.fn.tab.Constructor.prototype.activate=function(element,container,callback){var $active=container.find("> .active");$active.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"-1","aria-selected":!1}),$active.filter(".tab-pane").attr({"aria-hidden":!0,tabIndex:"-1"}),tabactivate.apply(this,arguments),element.addClass("active"),element.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"0","aria-selected":!0}),element.filter(".tab-pane").attr({"aria-hidden":!1,tabIndex:"0"})};var $colltabs=$('[data-toggle="collapse"]');$colltabs.each(function(index){var colltab=$(this),collpanel=$(colltab.attr("data-target")?colltab.attr("data-target"):colltab.attr("href")),parent=colltab.attr("data-parent"),collparent=parent&&$(parent),collid=colltab.attr("id")||uniqueId("ui-collapse"),parentpanel=collpanel.parent(),parentfirstchild=collparent?collparent.find(".panel.panel-default:first-child"):null,hasopenpanel=collparent?collparent.find(".panel-collapse.in").length>0:!1;colltab.attr("id",collid),collparent&&(colltab.attr({"aria-controls":collpanel.attr("id"),role:"tab","aria-selected":"false","aria-expanded":"false"}),$(collparent).find("div:not(.collapse,.panel-body), h4").attr("role","presentation"),collparent.attr({role:"tablist","aria-multiselectable":"true"}),collpanel.attr({role:"tabpanel","aria-labelledby":collid}),!hasopenpanel&&parentpanel.is(parentfirstchild)?(colltab.attr({tabindex:"0"}),collpanel.attr({tabindex:"-1"})):collpanel.hasClass("in")?(colltab.attr({"aria-selected":"true","aria-expanded":"true",tabindex:"0"}),collpanel.attr({tabindex:"0","aria-hidden":"false"})):(colltab.attr({tabindex:"-1"}),collpanel.attr({tabindex:"-1","aria-hidden":"true"})))});var collToggle=$.fn.collapse.Constructor.prototype.toggle;$.fn.collapse.Constructor.prototype.toggle=function(){var href,prevTab=this.$parent&&this.$parent.find('[aria-expanded="true"]');if(prevTab){var curTab,prevPanel=prevTab.attr("data-target")||(href=prevTab.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""),$prevPanel=$(prevPanel),$curPanel=this.$element;this.$parent;this.$parent&&(curTab=this.$parent.find('[data-toggle=collapse][href="#'+this.$element.attr("id")+'"]')),collToggle.apply(this,arguments),$.support.transition&&this.$element.one($.support.transition.end,function(){prevTab.attr({"aria-selected":"false","aria-expanded":"false",tabIndex:"-1"}),$prevPanel.attr({"aria-hidden":"true",tabIndex:"-1"}),curTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:"0"}),$curPanel.hasClass("in")?$curPanel.attr({"aria-hidden":"false",tabIndex:"0"}):(curTab.attr({"aria-selected":"false","aria-expanded":"false"}),$curPanel.attr({"aria-hidden":"true",tabIndex:"-1"}))})}else collToggle.apply(this,arguments)},$.fn.collapse.Constructor.prototype.keydown=function(e){var $items,index,$this=$(this),$tablist=$this.closest("div[role=tablist] "),k=e.which||e.keyCode;$this=$(this),/(32|37|38|39|40)/.test(k)&&(32==k&&$this.click(),$items=$tablist.find("[role=tab]"),index=$items.index($items.filter(":focus")),(38==k||37==k)&&index--,(39==k||40==k)&&index++,0>index&&(index=$items.length-1),index==$items.length&&(index=0),$items.eq(index).focus(),e.preventDefault(),e.stopPropagation())},$(document).on("keydown.collapse.data-api",'[data-toggle="collapse"]',$.fn.collapse.Constructor.prototype.keydown),$(".carousel").each(function(index){function setTablistHighlightBox(){var $tab,offset,height,width,highlightBox={};highlightBox.top=0,highlightBox.left=32e3,highlightBox.height=0,highlightBox.width=0;for(var i=0;i<$tabs.length;i++){$tab=$tabs[i],offset=$($tab).offset(),height=$($tab).height(),width=$($tab).width(),highlightBox.top<offset.top&&(highlightBox.top=Math.round(offset.top)),highlightBox.height<height&&(highlightBox.height=Math.round(height)),highlightBox.left>offset.left&&(highlightBox.left=Math.round(offset.left));var w=offset.left-highlightBox.left+Math.round(width);highlightBox.width<w&&(highlightBox.width=w)}$tablistHighlight.style.top=highlightBox.top-2+"px",$tablistHighlight.style.left=highlightBox.left-2+"px",$tablistHighlight.style.height=highlightBox.height+7+"px",$tablistHighlight.style.width=highlightBox.width+8+"px"}var $tabpanel,$tablistHighlight,$pauseCarousel,$complementaryLandmark,$tab,i,$this=$(this),$prev=$this.find('[data-slide="prev"]'),$next=$this.find('[data-slide="next"]'),$tablist=$this.find(".carousel-indicators"),$tabs=$this.find(".carousel-indicators li"),$tabpanels=$this.find(".item"),$is_paused=!1,id_title="id_title",id_desc="id_desc";for($tablist.attr("role","tablist"),$tabs.focus(function(){$this.carousel("pause"),$is_paused=!0,$pauseCarousel.innerHTML="Play Carousel",$(this).parent().addClass("active"),setTablistHighlightBox(),$($tablistHighlight).addClass("focus"),$(this).parents(".carousel").addClass("contrast")}),$tabs.blur(function(event){$(this).parent().removeClass("active"),$($tablistHighlight).removeClass("focus"),$(this).parents(".carousel").removeClass("contrast")}),i=0;i<$tabpanels.length;i++)$tabpanel=$tabpanels[i],$tabpanel.setAttribute("role","tabpanel"),$tabpanel.setAttribute("id","tabpanel-"+index+"-"+i),$tabpanel.setAttribute("aria-labelledby","tab-"+index+"-"+i);for("string"!=typeof $this.attr("role")&&($this.attr("role","complementary"),$this.attr("aria-labelledby",id_title),$this.attr("aria-describedby",id_desc),$this.prepend('<p  id="'+id_desc+'" class="sr-only">A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images.  Use the tabs or the previous and next buttons to change the displayed slide.</p>'),$this.prepend('<h2 id="'+id_title+'" class="sr-only">Carousel content with '+$tabpanels.length+" slides.</h2>")),i=0;i<$tabs.length;i++){$tab=$tabs[i],$tab.setAttribute("role","tab"),$tab.setAttribute("id","tab-"+index+"-"+i),$tab.setAttribute("aria-controls","tabpanel-"+index+"-"+i);var tpId="#tabpanel-"+index+"-"+i,caption=$this.find(tpId).find("h1").text();("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h3").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h4").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h5").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h6").text()),("string"!=typeof caption||0===caption.length)&&(caption="no title");var tabName=document.createElement("span");tabName.setAttribute("class","sr-only"),tabName.innerHTML="Slide "+(i+1),caption&&(tabName.innerHTML+=": "+caption),$tab.appendChild(tabName)}$tablistHighlight=document.createElement("div"),$tablistHighlight.className="carousel-tablist-highlight",document.body.appendChild($tablistHighlight),$complementaryLandmark=document.createElement("aside"),$complementaryLandmark.setAttribute("class","carousel-aside-pause"),$complementaryLandmark.setAttribute("aria-label","carousel pause/play control"),$this.prepend($complementaryLandmark),$pauseCarousel=document.createElement("button"),$pauseCarousel.className="carousel-pause-button",$pauseCarousel.innerHTML="Pause Carousel",$pauseCarousel.setAttribute("title","Pause/Play carousel button can be used by screen reader users to stop carousel animations"),$($complementaryLandmark).append($pauseCarousel),$($pauseCarousel).click(function(){$is_paused?($pauseCarousel.innerHTML="Pause Carousel",$this.carousel("cycle"),$is_paused=!1):($pauseCarousel.innerHTML="Play Carousel",$this.carousel("pause"),$is_paused=!0)}),$($pauseCarousel).focus(function(){$(this).addClass("focus")}),$($pauseCarousel).blur(function(){$(this).removeClass("focus")}),setTablistHighlightBox(),$(window).resize(function(){setTablistHighlightBox()}),$prev.attr("aria-label","Previous Slide"),$prev.keydown(function(e){var k=e.which||e.keyCode;/(13|32)/.test(k)&&(e.preventDefault(),e.stopPropagation(),$prev.trigger("click"))}),$prev.focus(function(){$(this).parents(".carousel").addClass("contrast")}),$prev.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$next.attr("aria-label","Next Slide"),$next.keydown(function(e){var k=e.which||e.keyCode;/(13|32)/.test(k)&&(e.preventDefault(),e.stopPropagation(),$next.trigger("click"))}),$next.focus(function(){$(this).parents(".carousel").addClass("contrast")}),$next.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$(".carousel-inner a").focus(function(){$(this).parents(".carousel").addClass("contrast")}),$(".carousel-inner a").blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$tabs.each(function(){var item=$(this);item.hasClass("active")?item.attr({"aria-selected":"true",tabindex:"0"}):item.attr({"aria-selected":"false",tabindex:"-1"})})});var slideCarousel=$.fn.carousel.Constructor.prototype.slide;$.fn.carousel.Constructor.prototype.slide=function(type,next){var $id,$element=this.$element,$active=$element.find("[role=tabpanel].active"),$next=next||$active[type](),$tab_count=$element.find("[role=tabpanel]").length,$prev_side=$element.find('[data-slide="prev"]'),$next_side=$element.find('[data-slide="next"]'),$index=0,$prev_index=$tab_count-1,$next_index=1;$next&&$next.attr("id")&&($id=$next.attr("id"),$index=$id.lastIndexOf("-"),$index>=0&&($index=parseInt($id.substring($index+1),10)),$prev_index=$index-1,1>$prev_index&&($prev_index=$tab_count-1),$next_index=$index+1,$next_index>=$tab_count&&($next_index=0)),$prev_side.attr("aria-label","Show slide "+($prev_index+1)+" of "+$tab_count),$next_side.attr("aria-label","Show slide "+($next_index+1)+" of "+$tab_count),slideCarousel.apply(this,arguments),$active.one("bsTransitionEnd",function(){var $tab;$tab=$element.find('li[aria-controls="'+$active.attr("id")+'"]'),$tab&&$tab.attr({"aria-selected":!1,tabIndex:"-1"}),$tab=$element.find('li[aria-controls="'+$next.attr("id")+'"]'),$tab&&$tab.attr({"aria-selected":!0,tabIndex:"0"})})};var $this;$.fn.carousel.Constructor.prototype.keydown=function(e){function selectTab(index){index>=$tabs.length||0>index||($carousel.carousel(index),setTimeout(function(){$tabs[index].focus()},150))}$this=$this||$(this),this instanceof Node&&($this=$(this));var index,$carousel=$(e.target).closest(".carousel"),$tabs=$carousel.find("[role=tab]"),k=e.which||e.keyCode;/(37|38|39|40)/.test(k)&&(index=$tabs.index($tabs.filter(".active")),(37==k||38==k)&&(index--,selectTab(index)),(39==k||40==k)&&(index++,selectTab(index)),e.preventDefault(),e.stopPropagation())},$(document).on("keydown.carousel.data-api","li[role=tab]",$.fn.carousel.Constructor.prototype.keydown)}(jQuery);
\ No newline at end of file
+parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"aQMl":[function(require,module,exports) {
+$(function(){"use strict";var t=function(t){return(t||"ui-id")+"-"+Math.floor(1e3*Math.random()+1)},e=function(t,e){var r,n,o,i=t.nodeName.toLowerCase();return"area"===i?(n=(r=t.parentNode).name,!(!t.href||!n||"map"!==r.nodeName.toLowerCase())&&(!!(o=$("img[usemap='#"+n+"']")[0])&&a(o))):(/input|select|textarea|button|object/.test(i)?!t.disabled:"a"===i&&t.href||e)&&a(t)},a=function(t){return $.expr.filters.visible(t)&&!$(t).parents().addBack().filter(function(){return"hidden"===$.css(this,"visibility")}).length};$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(t){return function(e){return!!$.data(e,t)}}):function(t,e,a){return!!$.data(t,a[3])},focusable:function(t){return e(t,!isNaN($.attr(t,"tabindex")))},tabbable:function(t){var a=$.attr(t,"tabindex"),r=isNaN(a);return(r||a>=0)&&e(t,!r)}}),$(".modal-dialog").attr({role:"document"});var r=$.fn.modal.Constructor.prototype.hide;$.fn.modal.Constructor.prototype.hide=function(){r.apply(this,arguments),$(document).off("keydown.bs.modal")};var n=$.fn.modal.Constructor.prototype.enforceFocus;$.fn.modal.Constructor.prototype.enforceFocus=function(){var t=this.$element.find(".modal-content").find(":tabbable"),e=$(t[t.length-1]),a=$(t[0]);e.on("keydown.bs.modal",$.proxy(function(t){9!==t.keyCode||t.shiftKey|t.ctrlKey|t.metaKey|t.altKey||(t.preventDefault(),a.focus())},this)),a.on("keydown.bs.modal",$.proxy(function(t){9===t.keyCode&&t.shiftKey&&(t.preventDefault(),e.focus())},this)),n.apply(this,arguments)};var o,i,s="[data-toggle=dropdown]";$(s).parent().find("ul").attr("role","menu").find("li").attr("role","presentation").find("a").attr({role:"menuitem",tabIndex:"-1"}),$(s).attr({"aria-haspopup":"true","aria-expanded":"false"}),$(s).parent().on("shown.bs.dropdown",function(t){var e=(o=$(this)).find(s);e.attr("aria-expanded","true"),e.on("keydown.bs.dropdown",$.proxy(function(t){setTimeout(function(){i=$(".dropdown-menu [role=menuitem]:visible",o)[0];try{i.focus()}catch(t){}},200)},this))}).on("hidden.bs.dropdown",function(t){(o=$(this)).find(s).attr("aria-expanded","false")}),$(document).on("focusout.dropdown.data-api",".dropdown-menu",function(t){var e=$(this),a=this;e.parent().hasClass("open")&&setTimeout(function(){$.contains(a,document.activeElement)||e.parent().find("[data-toggle=dropdown]").dropdown("toggle")},150)}).on("keydown.bs.dropdown.data-api",s+", [role=menu]",$.fn.dropdown.Constructor.prototype.keydown);var l=$(".nav-tabs, .nav-pills"),d=l.children("li"),c=l.find('[data-toggle="tab"], [data-toggle="pill"]');c&&(l.attr("role","tablist"),d.attr("role","presentation"),c.attr("role","tab")),c.each(function(e){var a=$($(this).attr("href")),r=$(this),n=r.attr("id")||t("ui-tab");r.attr("id",n),r.parent().hasClass("active")?(r.attr({tabIndex:"0","aria-selected":"true","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"0","aria-hidden":"false","aria-labelledby":n})):(r.attr({tabIndex:"-1","aria-selected":"false","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"-1","aria-hidden":"true","aria-labelledby":n}))}),$.fn.tab.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("ul[role=tablist] "),o=t.which||t.keyCode;if(r=$(this),/(37|38|39|40)/.test(o)){a=(e=n.find("[role=tab]:visible")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0);var i=e.eq(a);"tab"===i.attr("role")&&i.tab("show").focus(),t.preventDefault(),t.stopPropagation()}},$(document).on("keydown.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',$.fn.tab.Constructor.prototype.keydown);var u=$.fn.tab.Constructor.prototype.activate;$.fn.tab.Constructor.prototype.activate=function(t,e,a){var r=e.find("> .active");r.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"-1","aria-selected":!1}),r.filter(".tab-pane").attr({"aria-hidden":!0,tabIndex:"-1"}),u.apply(this,arguments),t.addClass("active"),t.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"0","aria-selected":!0}),t.filter(".tab-pane").attr({"aria-hidden":!1,tabIndex:"0"})},$('[data-toggle="collapse"]').each(function(e){var a=$(this),r=a.attr("data-target")?$(a.attr("data-target")):$(a.attr("href")),n=a.attr("data-parent"),o=n&&$(n),i=a.attr("id")||t("ui-collapse"),s=r.parent(),l=o?o.find(".panel.panel-default:first-child"):null,d=!!o&&o.find(".panel-collapse.in").length>0;a.attr("id",i),o&&(a.attr({"aria-controls":r.attr("id"),role:"tab","aria-selected":"false","aria-expanded":"false"}),$(o).find("div:not(.collapse,.panel-body), h4").attr("role","presentation"),o.attr({role:"tablist","aria-multiselectable":"true"}),r.attr({role:"tabpanel","aria-labelledby":i}),!d&&s.is(l)?(a.attr({tabindex:"0"}),r.attr({tabindex:"-1"})):r.hasClass("in")?(a.attr({"aria-selected":"true","aria-expanded":"true",tabindex:"0"}),r.attr({tabindex:"0","aria-hidden":"false"})):(a.attr({tabindex:"-1"}),r.attr({tabindex:"-1","aria-hidden":"true"})))});var p=$.fn.collapse.Constructor.prototype.toggle;$.fn.collapse.Constructor.prototype.toggle=function(){var t,e=this.$parent&&this.$parent.find('[aria-expanded="true"]');if(e){var a,r=e.attr("data-target")||(t=e.attr("href"))&&t.replace(/.*(?=#[^\s]+$)/,""),n=$(r),o=this.$element;this.$parent;this.$parent&&(a=this.$parent.find('[data-toggle=collapse][href="#'+this.$element.attr("id")+'"]')),p.apply(this,arguments),$.support.transition&&this.$element.one($.support.transition.end,function(){e.attr({"aria-selected":"false","aria-expanded":"false",tabIndex:"-1"}),n.attr({"aria-hidden":"true",tabIndex:"-1"}),a.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:"0"}),o.hasClass("in")?o.attr({"aria-hidden":"false",tabIndex:"0"}):(a.attr({"aria-selected":"false","aria-expanded":"false"}),o.attr({"aria-hidden":"true",tabIndex:"-1"}))})}else p.apply(this,arguments)},$.fn.collapse.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("div[role=tablist] "),o=t.which||t.keyCode;r=$(this),/(32|37|38|39|40)/.test(o)&&(32==o&&r.click(),a=(e=n.find("[role=tab]")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0),e.eq(a).focus(),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.collapse.data-api",'[data-toggle="collapse"]',$.fn.collapse.Constructor.prototype.keydown),$(".carousel").each(function(t){function e(){for(var t,e,a,n,o={top:0,left:32e3,height:0,width:0},i=0;i<p.length;i++){t=p[i],e=$(t).offset(),a=$(t).height(),n=$(t).width(),o.top<e.top&&(o.top=Math.round(e.top)),o.height<a&&(o.height=Math.round(a)),o.left>e.left&&(o.left=Math.round(e.left));var s=e.left-o.left+Math.round(n);o.width<s&&(o.width=s)}r.style.top=o.top-2+"px",r.style.left=o.left-2+"px",r.style.height=o.height+7+"px",r.style.width=o.width+8+"px"}var a,r,n,o,i,s,l=$(this),d=l.find('[data-slide="prev"]'),c=l.find('[data-slide="next"]'),u=l.find(".carousel-indicators"),p=l.find(".carousel-indicators li"),f=l.find(".item"),h=!1;for(u.attr("role","tablist"),p.focus(function(){l.carousel("pause"),h=!0,n.innerHTML="Play Carousel",$(this).parent().addClass("active"),e(),$(r).addClass("focus"),$(this).parents(".carousel").addClass("contrast")}),p.blur(function(t){$(this).parent().removeClass("active"),$(r).removeClass("focus"),$(this).parents(".carousel").removeClass("contrast")}),s=0;s<f.length;s++)(a=f[s]).setAttribute("role","tabpanel"),a.setAttribute("id","tabpanel-"+t+"-"+s),a.setAttribute("aria-labelledby","tab-"+t+"-"+s);for("string"!=typeof l.attr("role")&&(l.attr("role","complementary"),l.attr("aria-labelledby","id_title"),l.attr("aria-describedby","id_desc"),l.prepend('<p  id="id_desc" class="sr-only">A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images.  Use the tabs or the previous and next buttons to change the displayed slide.</p>'),l.prepend('<h2 id="id_title" class="sr-only">Carousel content with '+f.length+" slides.</h2>")),s=0;s<p.length;s++){(i=p[s]).setAttribute("role","tab"),i.setAttribute("id","tab-"+t+"-"+s),i.setAttribute("aria-controls","tabpanel-"+t+"-"+s);var b="#tabpanel-"+t+"-"+s,y=l.find(b).find("h1").text();"string"==typeof y&&0!==y.length||(y=l.find(b).text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h3").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h4").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h5").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h6").text()),"string"==typeof y&&0!==y.length||(y="no title");var g=document.createElement("span");g.setAttribute("class","sr-only"),g.innerHTML="Slide "+(s+1),y&&(g.innerHTML+=": "+y),i.appendChild(g)}(r=document.createElement("div")).className="carousel-tablist-highlight",document.body.appendChild(r),(o=document.createElement("aside")).setAttribute("class","carousel-aside-pause"),o.setAttribute("aria-label","carousel pause/play control"),l.prepend(o),(n=document.createElement("button")).className="carousel-pause-button",n.innerHTML="Pause Carousel",n.setAttribute("title","Pause/Play carousel button can be used by screen reader users to stop carousel animations"),$(o).append(n),$(n).click(function(){h?(n.innerHTML="Pause Carousel",l.carousel("cycle"),h=!1):(n.innerHTML="Play Carousel",l.carousel("pause"),h=!0)}),$(n).focus(function(){$(this).addClass("focus")}),$(n).blur(function(){$(this).removeClass("focus")}),e(),$(window).resize(function(){e()}),d.attr("aria-label","Previous Slide"),d.keydown(function(t){var e=t.which||t.keyCode;/(13|32)/.test(e)&&(t.preventDefault(),t.stopPropagation(),d.trigger("click"))}),d.focus(function(){$(this).parents(".carousel").addClass("contrast")}),d.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),c.attr("aria-label","Next Slide"),c.keydown(function(t){var e=t.which||t.keyCode;/(13|32)/.test(e)&&(t.preventDefault(),t.stopPropagation(),c.trigger("click"))}),c.focus(function(){$(this).parents(".carousel").addClass("contrast")}),c.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$(".carousel-inner a").focus(function(){$(this).parents(".carousel").addClass("contrast")}),$(".carousel-inner a").blur(function(){$(this).parents(".carousel").removeClass("contrast")}),p.each(function(){var t=$(this);t.hasClass("active")?t.attr({"aria-selected":"true",tabindex:"0"}):t.attr({"aria-selected":"false",tabindex:"-1"})})});var f,h=$.fn.carousel.Constructor.prototype.slide;$.fn.carousel.Constructor.prototype.slide=function(t,e){var a,r=this.$element,n=r.find("[role=tabpanel].active"),o=e||n[t](),i=r.find("[role=tabpanel]").length,s=r.find('[data-slide="prev"]'),l=r.find('[data-slide="next"]'),d=0,c=i-1,u=1;o&&o.attr("id")&&((d=(a=o.attr("id")).lastIndexOf("-"))>=0&&(d=parseInt(a.substring(d+1),10)),(c=d-1)<1&&(c=i-1),(u=d+1)>=i&&(u=0)),s.attr("aria-label","Show slide "+(c+1)+" of "+i),l.attr("aria-label","Show slide "+(u+1)+" of "+i),h.apply(this,arguments),n.one("bsTransitionEnd",function(){var t;(t=r.find('li[aria-controls="'+n.attr("id")+'"]'))&&t.attr({"aria-selected":!1,tabIndex:"-1"}),(t=r.find('li[aria-controls="'+o.attr("id")+'"]'))&&t.attr({"aria-selected":!0,tabIndex:"0"})})},$.fn.carousel.Constructor.prototype.keydown=function(t){function e(t){t>=n.length||t<0||(r.carousel(t),setTimeout(function(){n[t].focus()},150))}f=f||$(this),this instanceof Node&&(f=$(this));var a,r=$(t.target).closest(".carousel"),n=r.find("[role=tab]"),o=t.which||t.keyCode;/(37|38|39|40)/.test(o)&&(a=n.index(n.filter(".active")),37!=o&&38!=o||e(--a),39!=o&&40!=o||e(++a),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.carousel.data-api","li[role=tab]",$.fn.carousel.Constructor.prototype.keydown)});
+},{}]},{},["aQMl"], null)
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss b/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
index 231c982..3a671c3 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
@@ -1,5 +1,8 @@
 .btn {
   &:focus {
-	@include outline(2px);
+	  @include mouse-outline(2px);
   }
+  &:focus-visible {
+		@include keyboard-outline(2px);
+	}
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_close.scss b/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
index 0c8622e..582cffa 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
@@ -1,6 +1,9 @@
 .close {
   &:hover,
   &:focus {
-  	@include outline(1px);
+  	@include mouse-outline(1px);
+  }
+  &:focus-visible {
+    @include keyboard-outline(1px);
   }
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss b/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
index a3f0076..7d873bf 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
@@ -1,5 +1,8 @@
 div.active {
 	&:focus {
-		@include outline(1px);
+		@include mouse-outline(1px);
+	}
+	&:focus-visible {
+		@include keyboard-outline(1px);
 	}
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_links.scss b/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
index 4d7cc03..a1a6614 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
@@ -1,5 +1,8 @@
 a {
   &:focus {
-  	@include outline(1px);
+  	@include mouse-outline(1px);
+  }
+  &:focus-visible {
+    @include keyboard-outline(1px);
   }
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss b/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
index c4e529b..e259e25 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
@@ -1,3 +1,6 @@
-@mixin outline($size) {
-	outline: $outline-default-style $size $outline-default-color;
+@mixin mouse-outline($size) {
+	outline: $mouse-outline-style $size $mouse-outline-color;
 }
+@mixin keyboard-outline($size) {
+	outline: $keyboard-outline-style $size $keyboard-outline-color;
+}
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss b/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
index 3e0c133..89818ae 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
@@ -3,8 +3,11 @@
 		> a {
 			&:hover,
 			&:focus {
-				@include outline(1px);
+				@include mouse-outline(1px);
+			}
+			&:focus-visible {
+				@include keyboard-outline(1px);
 			}
 		}
 	}
-}
+}
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss b/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
index 3704b88..f80b42e 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
@@ -1,21 +1,25 @@
 //Set the variables for use in stylesheet
 
 // Colors
-$black: 		#000;
-$green-dark: 	#2d4821;
-$blue-dark: 	#214c62;
-$red-dark: 		#6c4a00;
-$red: 			#d2322d;
-$yellow: 		#f9f1c6;
+$black: 		#000 !default;
+$green-dark: 	#2d4821 !default;
+$blue-dark: 	#214c62 !default;
+$red-dark: 		#6c4a00 !default;
+$red: 			#d2322d !default;
+$yellow: 		#f9f1c6 !default;
 
-// Outline
-$outline-default-style: 	dotted;
-$outline-default-color: 	$black;
+// :focus/:hover outline styles
+$mouse-outline-style: 	none !default;
+$mouse-outline-color: 	$black !default;
+
+// :focus-visible outline styles
+$keyboard-outline-style: auto !default;
+$keyboard-outline-color: $mouse-outline-color !default;
 
 // Alerts Colors
-$alert-success-color: 			$green-dark;
-$alert-info-color: 				$blue-dark;
-$alert-warning-color: 			$red-dark;
-$alert-warning-bkg: 			$yellow;
-$alert-danger-color: 			$red;
-$alert-danger-hover: 			darken($red, 10%);
+$alert-success-color: 			$green-dark !default;
+$alert-info-color: 				$blue-dark !default;
+$alert-warning-color: 			$red-dark !default;
+$alert-warning-bkg: 			$yellow !default;
+$alert-danger-color: 			$red !default;
+$alert-danger-hover: 			darken($red, 10%) !default;
