import { Directive, ElementRef, Input, Renderer2 } from "@angular/core"; @Directive({ selector: "[appA11yTitle]", }) export class A11yTitleDirective { @Input() set appA11yTitle(title: string) { this.title = title; } private title: string; constructor(private el: ElementRef, private renderer: Renderer2) {} ngOnInit() { if (!this.el.nativeElement.hasAttribute("title")) { this.renderer.setAttribute(this.el.nativeElement, "title", this.title); } if (!this.el.nativeElement.hasAttribute("aria-label")) { this.renderer.setAttribute(this.el.nativeElement, "aria-label", this.title); } } }