this.displaying = false;
this.mouseX = 0;
this.mouseY = 0;
+ this.type = 'mouse';
this.init();
}
var $this = this;
$(window).on('mousemove', function (e) {
+ if ($this.type === 'keyboard') {
+ $this.type = 'mouse';
+ $this.hideTooltip();
+ }
$this.updateMousePosition(e);
});
$(document).on('mouseover', 'a[data-tooltip]', function (e) {
+ $this.type = 'mouse';
$this.updateMousePosition(e);
$this.eventTriggered(this);
});
+ $(document).on('focus', 'a[data-tooltip]', function (e) {
+ $this.type = 'keyboard';
+ var rect = this.getBoundingClientRect();
+ $this.updateMousePosition({pageX: rect.x + rect.width / 2, pageY: rect.y + rect.height / 2});
+ $this.eventTriggered(this);
+ });
+ $(document).on('blur', 'a[data-tooltip]', function (e) {
+ $this.hideTooltip();
+ });
- $("body").append('<div id="tooltip" aria-hidden="true"></div>');
+ $("body").append('<div id="tooltip" role="tooltip"></div>');
},
updateMousePosition: function (e) {
@import "variables";
@import "mixins";
@import "mmenu/mmenu";
-@import "nav-horizontal";
\ No newline at end of file
+@import "nav-horizontal";
+@import "accessibility";
\ No newline at end of file
--- /dev/null
+.visually-hidden, #accessible-contents {
+ clip-path: inset(100%);
+ clip: rect(1px, 1px, 1px, 1px);
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ white-space: nowrap;
+ width: 1px;
+}
\ No newline at end of file