diff --git a/alfa-client/libs/design-system/src/lib/icons/accessibility-icon/accessibility-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/accessibility-icon/accessibility-icon.component.ts
index 04a9f704dac2d4a0c93dd9a8794376f21dfa7b65..a8c309a368e22aeb3f5d031287781f1107b234c2 100644
--- a/alfa-client/libs/design-system/src/lib/icons/accessibility-icon/accessibility-icon.component.ts
+++ b/alfa-client/libs/design-system/src/lib/icons/accessibility-icon/accessibility-icon.component.ts
@@ -11,6 +11,7 @@ import { iconVariants, IconVariants } from '../iconVariants';
     viewBox="0 0 26 26"
     [ngClass]="[twMerge(iconVariants({ size }), 'fill-neutral-500 dark:fill-neutral-400', class)]"
     xmlns="http://www.w3.org/2000/svg"
+    aria-hidden="true"
   >
     <rect x="2" y="2" width="22" height="22" rx="11" />
     <path
diff --git a/alfa-client/libs/design-system/src/lib/link/link.component.ts b/alfa-client/libs/design-system/src/lib/link/link.component.ts
index 1d11015962993c60b5c4eea6b5687f6500a76d81..3331d0c65b04128f6954a52a2a22b43da50308e2 100644
--- a/alfa-client/libs/design-system/src/lib/link/link.component.ts
+++ b/alfa-client/libs/design-system/src/lib/link/link.component.ts
@@ -9,7 +9,12 @@ import { twMerge } from 'tailwind-merge';
   template: `<a
     [target]="openInNewTab ? '_blank' : '_self'"
     [href]="url"
-    [class]="twMerge('block rounded text-text outline-2 outline-offset-2 outline-focus focus-visible:outline', class)"
+    [class]="
+      twMerge(
+        'block rounded border-2 border-transparent text-text outline-2 outline-offset-2 outline-focus hover:border-primary-600 focus-visible:border-transparent focus-visible:outline',
+        class
+      )
+    "
     [attr.data-test-id]="linkTestId"
     (focus)="isFocused = true"
     (blur)="isFocused = false"
diff --git a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
index e39f39af4d4342b92c643cb8156c7c49ed77fcd2..0ada2b5b0fa9611d30710bcb7884cd5b3fa59692 100644
--- a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.spec.ts
@@ -61,6 +61,16 @@ describe('TooltipDirective', () => {
     expect(directive).toBeTruthy();
   });
 
+  describe('ngAfterViewInit', () => {
+    it('should create tooltip', () => {
+      directive.createTooltip = jest.fn();
+
+      directive.ngAfterViewInit();
+
+      expect(directive.createTooltip).toHaveBeenCalled();
+    });
+  });
+
   describe('ngOnDestroy', () => {
     it('should destroy tooltip', () => {
       directive.destroy = jest.fn();
diff --git a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
index 09d7958f93cd817c6cc8fba64f329e9684902c1c..d94abe415abd835cff2f6a596d599a409d6e575e 100644
--- a/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
+++ b/alfa-client/libs/design-system/src/lib/tooltip/tooltip.directive.ts
@@ -24,6 +24,7 @@
 import { isEscapeKey, isNotNull } from '@alfa-client/tech-shared';
 import { InteractivityChecker } from '@angular/cdk/a11y';
 import {
+  AfterViewInit,
   ComponentRef,
   Directive,
   ElementRef,
@@ -31,7 +32,6 @@ import {
   inject,
   Input,
   OnDestroy,
-  OnInit,
   Renderer2,
   ViewContainerRef,
 } from '@angular/core';
@@ -44,7 +44,7 @@ const OUTLINE_INDENT = 4; // Outline offset (2) + outline width (2)
   selector: '[tooltip]',
   standalone: true,
 })
-export class TooltipDirective implements OnInit, OnDestroy {
+export class TooltipDirective implements AfterViewInit, OnDestroy {
   @Input() tooltip: string = '';
 
   componentRef: ComponentRef<TooltipComponent> = null;
@@ -56,7 +56,7 @@ export class TooltipDirective implements OnInit, OnDestroy {
   public renderer: Renderer2 = inject(Renderer2);
   public interactivityChecker: InteractivityChecker = inject(InteractivityChecker);
 
-  ngOnInit(): void {
+  ngAfterViewInit(): void {
     this.createTooltip();
   }
 
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts
index 5238a23c74cd94b4b5a4004bcc2d46e7b7eb3e18..76fac14c0bfe11b7f9b97a634e922aad14a417ca 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.spec.ts
@@ -80,7 +80,6 @@ describe('ListResourceService', () => {
     beforeEach(() => {
       service.listResource.next(listStateResource);
 
-      service.handleNullConfigResource = jest.fn();
       service.handleChanges = jest.fn();
       isInvalidResourceCombinationSpy = jest.spyOn(ResourceUtil, 'isInvalidResourceCombination').mockReturnValue(true);
     });
@@ -92,13 +91,6 @@ describe('ListResourceService', () => {
       expect(service.handleChanges).toHaveBeenCalledWith(listStateResource, baseResource);
     }));
 
-    it('should handle null configresource', fakeAsync(() => {
-      service.getList().subscribe();
-      tick();
-
-      expect(service.handleNullConfigResource).toHaveBeenCalledWith(baseResource);
-    }));
-
     it('should call isInvalidResourceCombinationSpy', fakeAsync(() => {
       service.getList().subscribe();
       tick();
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.ts b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.ts
index 8dba0ba6790fe0a0eab24eb04299722e787e5809..50cee3aa72fb828211d7a70dadc5cdca3d5f55c2 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/list-resource.service.ts
@@ -35,7 +35,6 @@ import {
   createStateResource,
   doIfLoadingRequired,
   getEmbeddedResources,
-  isEmptyStateResource,
   isInvalidResourceCombination,
   isLoadingRequired,
   isStateResoureStable,
@@ -67,7 +66,6 @@ export class ResourceListService<B extends Resource, T extends ListResource, I e
       tap(([stateResource, configResource]) => {
         this.handleChanges(stateResource, configResource);
       }),
-      tap(([, configResource]) => this.handleNullConfigResource(configResource)),
       filter(([stateResource]) => !isInvalidResourceCombination(stateResource, this.baseResource)),
       mapToFirst<T, B>(),
       startWith(createEmptyStateResource<T>(true)),
@@ -103,20 +101,10 @@ export class ResourceListService<B extends Resource, T extends ListResource, I e
     return isNotNull(configResource) && isLoadingRequired(stateResource) && this.hasListLinkRel();
   }
 
-  handleNullConfigResource(configResource: B): void {
-    if (this.shouldClearStateResource(configResource)) {
-      this.clearCurrentListResource();
-    }
-  }
-
   private clearCurrentListResource(): void {
     this.listResource.next(createEmptyStateResource());
   }
 
-  shouldClearStateResource(configResource: B): boolean {
-    return isNull(configResource) && !isEmptyStateResource(this.listResource.value);
-  }
-
   public create(toCreate: unknown): Observable<Resource> {
     this.verifyBeforeCreation();
     return this.repository.createResource(this.buildCreateResourceData(toCreate, this.config.createLinkRel));