|  | const JumpLinkMixin = { | 
|  | methods: { | 
|  | setFocus(element) { | 
|  | element.setAttribute('tabindex', '-1'); | 
|  | element.focus(); | 
|  | // Reason: https://axesslab.com/skip-links/#update-3-a-comment-from-gov-uk | 
|  | element.removeAttribute('tabindex'); | 
|  | }, | 
|  | scrollToOffset(event) { | 
|  | // Select element to scroll to | 
|  | const ref = event.target.getAttribute('data-ref'); | 
|  | const element = this.$refs[ref].$el; | 
|  |  | 
|  | // Set focus and tabindex on selected element | 
|  | this.setFocus(element); | 
|  |  | 
|  | // Set scroll offset below header | 
|  | const offset = element.offsetTop - 50; | 
|  | window.scroll({ | 
|  | top: offset, | 
|  | behavior: 'smooth', | 
|  | }); | 
|  | }, | 
|  | }, | 
|  | }; | 
|  |  | 
|  | export default JumpLinkMixin; |