Public accessibility assessment

Accessibility issues detected on hariri.ch

Evolize inspected 5 public pages on hariri.ch and detected 56 automatically identifiable accessibility findings.

56Findings detected
5WCAG criteria affected
5Pages inspected
22 Aug 2026Assessment date

Highest detected severity: High · 6 high-priority findings · 100% inspected-page coverage

Most widespread issueText has insufficient colour contrastDetected on 5 inspected pages
Most affected page/46 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)40 detected findings

Is hariri.ch your website?

Keep this assessment current and get notified when new accessibility issues are detected.

https://

Not your website? Scan your own site →

01 · Accessibility summary

Evolize inspected 5 public pages on hariri.ch and detected 56 accessibility findings. The most widespread issue was "Text has insufficient colour contrast", detected on 5 inspected pages. The most affected inspected page was "/", where 46 findings were detected. The assessment identified findings mapped to 5 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

These findings combine the highest severity and broadest reach detected during this assessment.

  1. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 43 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    To fix this issue, remove the element from the tab order by adding the 'tabindex' attribute with a value of '-1' or by using 'display: none' or 'visibility: hidden' CSS properties to completely hide the element. Alternatively, make the element visible when it receives focus.

    View technical evidence →
  2. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 35 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  3. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 5 inspected pages · 10 instances
    Why this matters

    Text and background colours do not meet the minimum contrast ratio, reducing legibility.

    Recommended action

    Increase the contrast between the text color and the background color of the element with class 'foot__copy' to meet the minimum contrast ratio thresholds as defined in WCAG 2.1 SC 1.4.3

    View technical evidence →
  4. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 9 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    To fix this issue, ensure that the hidden element is removed from the tab order by setting its 'tabindex' attribute to '-1' or by using CSS to set 'display: none' or 'visibility: hidden' when it's not visible. For example: '<button type="button" class="btn btn--ghost" aria-expanded="false" aria-haspopup="true" data-cvtoggle="" style="display: none;"> CV </button>' or '<button type="button" class="btn btn--ghost" aria-expanded="false" aria-haspopup="true" data-cvtoggle="" tabindex="-1"> CV </button>'

    View technical evidence →
  5. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    To fix this issue, ensure that all interactive elements are visible when they receive keyboard focus. You can do this by checking the CSS styles applied to the element and its parents, and making sure that 'display' is not set to 'none' and 'visibility' is not set to 'hidden' when the element is focused. Consider using the ':focus' pseudo-class to apply styles that make the element visible when it has focus.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA4055 / 5
2.5.8Target Size (Minimum)AA855 / 5
2.4.3Focus OrderA655 / 5
1.3.1Info and RelationshipsA155 / 5
4.1.2Name, Role, ValueA111 / 5

Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.

Continuous monitoring

A scan shows today's exposure. Monitoring shows what changes next.

Evolize continuously reassesses public website pages, detects newly introduced or recurring accessibility findings, and tracks remediation over time.

04 · All detected findings

High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)189 instances5 inspected pages

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Why it matters

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Recommended correction

Increase the contrast between the text color and the background color of the element with class 'foot__copy' to meet the minimum contrast ratio thresholds as defined in WCAG 2.1 SC 1.4.3

View 189 affected elements
Component · Ref O52TH5
Affected pagehttps://hariri.ch/category/developpement/
Element.foot__copy
Accessible name© 2026 Diaa Al Hariri. Tous droits réservés.
Markup
<p class="foot__copy">
			© 2026 Diaa Al Hariri. Tous droits réservés.		</p>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref OOP3OP
Affected pagehttps://hariri.ch/category/developpement/
Element.hac__cue > span
Accessible nameAssistant IA
Markup
<span>Assistant IA</span>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref QUJ8C1
Affected pagehttps://hariri.ch/
Element.step[data-step=""]:nth-child(1) > .step__b > .step__d
Accessible nameJ’analyse vos objectifs, vos besoins, votre public cible et les fonctionnalités nécessaires afin de définir clairement le projet.
Markup
<p class="step__d">J’analyse vos objectifs, vos besoins, votre public cible et les fonctionnalités nécessaires afin de définir clairement le projet.</p>
Component · Ref 7O9FRE
Affected pagehttps://hariri.ch/
Element.step[data-step=""]:nth-child(1) > .step__b > .step__t
Accessible nameCollecte des besoins
Markup
<h3 class="step__t">Collecte des besoins</h3>
Component · Ref MK509I
Affected pagehttps://hariri.ch/
Element.form__note
Accessible nameVos données ne servent qu’à répondre à votre message.
Markup
<p class="form__note" data-note="">Vos données ne servent qu’à répondre à votre message.</p>
Component · Ref TY7IT0
Affected pagehttps://hariri.ch/category/developpement/
Element.bl-card:nth-child(1) > .bl-card__b > .bl-card__more > span:nth-child(1)
Accessible name
Markup
<span> →</span>
Affected pages/category/actualites-tech /blog /category/developpement
Component · Ref BJ1WL7
Affected pagehttps://hariri.ch/
Element.nav__mark > span:nth-child(1)
Accessible namehariri
Markup
<span>hariri</span>
Component · Ref 6U9GHS
Affected pagehttps://hariri.ch/
Element.step[data-step=""]:nth-child(1) > .step__n[aria-hidden="true"]
Accessible name1
Markup
<span class="step__n" aria-hidden="true">1</span>
Component · Ref XUO6MI
Affected pagehttps://hariri.ch/blog/
Elementp:nth-child(4) > .bl-card__more > span:nth-child(1)
Accessible name
Markup
<span> →</span>
Component · Ref C3YM6G
Affected pagehttps://hariri.ch/
Element#projets > .sec__head > .lede
Accessible nameQuatre sites en production. Les captures viennent des sites réels, sans retouche.
Markup
<p class="lede">Quatre sites en production. Les captures viennent des sites réels, sans retouche.</p>
Component · Ref Y1ZL2W
Affected pagehttps://hariri.ch/
Element.l:nth-child(2)
Accessible namersync -az --delete ./dist/ [email removed]:/var/www/
Markup
<span class="l"><span class="f">rsync</span> -az --delete ./dist/ <span class="s">[email removed]:/var/www/</span></span>
Component · Ref 9NJT40
Affected pagehttps://hariri.ch/
Element.foot__mark > span:nth-child(1)
Accessible namehariri
Markup
<span>hariri</span>
Component · Ref XAI30B
Affected pagehttps://hariri.ch/
Elementa[href$="diaa-hariri"]
Accessible nameGitHub
Markup
<a href="https://github.com/diaa-hariri" rel="me noopener">GitHub</a>
Component · Ref OVBL3S
Affected pagehttps://hariri.ch/
Elementlabel[for="f-nom"]
Accessible nameNom *obligatoire
Markup
<label for="f-nom">Nom <span class="req" aria-hidden="true">*</span><span class="sr">obligatoire</span></label>
Component · Ref R8SJE5
Affected pagehttps://hariri.ch/
Element.is-on.tab
Accessible nameindex.html
Markup
<span class="tab is-on">index.html</span>
Component · Ref W7Z1KN
Affected pagehttps://hariri.ch/
Element.c
Accessible name<!-- le fil d'exécution -->
Markup
<span class="c">&lt;!-- le fil d'exécution --&gt;</span>
Component · Ref EOY2P9
Affected pagehttps://hariri.ch/
Element.l:nth-child(2) > .s
Accessible name[email removed]:/var/www/
Markup
<span class="s">[email removed]:/var/www/</span>
Component · Ref VAGU8N
Affected pagehttps://hariri.ch/
Element.graph__cluster:nth-child(1) > .graph__label
Accessible nameInterface
Markup
<span class="graph__label" style="left:20.50%;top:27.41%">Interface</span>
Component · Ref 3KQHE4
Affected pagehttps://hariri.ch/
Element.l:nth-child(2) > .f
Accessible namersync
Markup
<span class="f">rsync</span>
Component · Ref WSGW3N
Affected pagehttps://hariri.ch/
Element.nav__links > a[href$="#projets"]
Accessible nameProjets
Markup
<a href="#projets">Projets</a>
Component · Ref 6BLZVV
Affected pagehttps://hariri.ch/
Element.editor__gutter
Accessible name1
Markup
<div class="editor__gutter" data-gutter="">1</div>
Component · Ref C132AN
Affected pagehttps://hariri.ch/
Element.foot__nav > a[href$="#projets"]
Accessible nameProjets
Markup
<a href="#projets">Projets</a>
Component · Ref OKWUVH
Affected pagehttps://hariri.ch/
Element#projets > .sec__head > .kick
Accessible name05 / Preuves
Markup
<p class="kick">05 / Preuves</p>
Component · Ref CFV02C
Affected pagehttps://hariri.ch/
Element#projets-t
Accessible nameMes Projets
Markup
<h2 class="h2" id="projets-t">Mes Projets</h2>
Component · Ref WX0KVH
Affected pagehttps://hariri.ch/
Elementli:nth-child(1) > a[rel="me noopener"]
Accessible nameLinkedIn
Markup
<a href="https://www.linkedin.com/in/diaahariri/" rel="me noopener">LinkedIn</a>
Component · Ref 0U1EDX
Affected pagehttps://hariri.ch/
Element.hero__ident-role
Accessible nameDéveloppeur & support informatique
Markup
<p class="hero__ident-role">Développeur &amp; support informatique</p>
Component · Ref EOY2O9
Affected pagehttps://hariri.ch/
Element.s:nth-child(4)
Accessible name"live"
Markup
<span class="s">"live"</span>
Component · Ref 058UBN
Affected pagehttps://hariri.ch/
Element.hero__ident-name
Accessible nameDiaa Al Hariri
Markup
<p class="hero__ident-name">Diaa Al Hariri</p>
Component · Ref MPZMQA
Affected pagehttps://hariri.ch/
Element.ok
Accessible name⟳ 1/29 lignes
Markup
<span class="ok" data-diag="">⟳ 1/29 lignes</span>
Component · Ref I5RXP0
Affected pagehttps://hariri.ch/
Element.sp
Accessible nameLn 1, Col 34
Markup
<span class="sp" data-lncol="">Ln 1, Col 34</span>
Component · Ref 8QZWOT
Affected pagehttps://hariri.ch/
Elementspan[data-branch=""]
Accessible namemain
Markup
<span data-branch="">main</span>
Component · Ref 8PC53Q
Affected pagehttps://hariri.ch/
Element.cue > span
Accessible nameDéfilez
Markup
<span>Défilez</span>
Component · Ref 6OS3FN
Affected pagehttps://hariri.ch/
Element.foot__line
Accessible nameDiaa Al Hariri · Développeur & support informatique · Genève, Suisse
Markup
<p class="foot__line">Diaa Al Hariri · Développeur &amp; support informatique · Genève, Suisse</p>
Component · Ref D07COV
Affected pagehttps://hariri.ch/
Elementa[data-allposts=""]
Accessible nameVoir tous les articles
Markup
<a class="btn btn--ghost" href="https://hariri.ch/blog/" data-allposts="">Voir tous les articles</a>
Component · Ref 3KQHGS
Affected pagehttps://hariri.ch/
Element.f:nth-child(3)
Accessible nameecho
Markup
<span class="f">echo</span>
Component · Ref GOJRSC
Affected pagehttps://hariri.ch/
Element.is-on[href$="#accueil"]
Accessible nameAccueil
Markup
<a href="#accueil" class="is-on">Accueil</a>
Component · Ref NH8JKQ
Affected pagehttps://hariri.ch/
Element.screen__status > span:nth-child(3)
Accessible nameUTF-8
Markup
<span>UTF-8</span>
Component · Ref EXP8R4
Affected pagehttps://hariri.ch/
Element.lede--wide
Accessible nameJe me concentre sur des technologies modernes et éprouvées qui apportent de la valeur aux projets que je crée. J’accorde également une grande importance à la performance, à la sécurité et à l’évolutivité dans chacun des projets que je développe.
Markup
<p class="lede lede--wide">Je me concentre sur des technologies modernes et éprouvées qui apportent de la valeur aux projets que je crée. J’accorde également une grande importance à la performance, à la sécurité et à l’évolutivité dans chacun des projets que je développe.</p>
Component · Ref QMBS73
Affected pagehttps://hariri.ch/
Element.nav__act > .cvmenu[data-cvmenu=""] > .btn--ghost[aria-haspopup="true"][data-cvtoggle=""]
Accessible nameCV
Markup
<button type="button" class="btn btn--ghost" aria-expanded="false" aria-haspopup="true" data-cvtoggle="">
			CV		</button>
Component · Ref 6UC9OJ
Affected pagehttps://hariri.ch/category/developpement/
Element.bl-card:nth-child(1) > .bl-card__b > h2 > a
Accessible nameWordPress 7.1 ajoute une API publique pour enregistrer des icônes SVG personnalisées
Markup
<a href="https://hariri.ch/wordpress-7-1-api-enregistrement-icones-svg-personnalisees/">WordPress 7.1 ajoute une API publique pour enregistrer des icônes SVG personnalisées</a>
High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)100 instances5 inspected pages

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Why it matters

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Recommended correction

Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

View 100 affected elements
Component · Ref M3XO92
Affected pagehttps://hariri.ch/
Elementhtml > body > header > div:nth-of-type(1) > nav > a:nth-of-type(1)
Accessible nameAccueil
Markup
<a href="#accueil" class="is-on">Accueil</a>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref DTT794
Affected pagehttps://hariri.ch/
Elementdiv#navdrawer > nav > a:nth-of-type(1)
Accessible nameAccueil
Markup
<a href="#accueil">Accueil</a>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref 39EQB7
Affected pagehttps://hariri.ch/
Elementbody > header > div:nth-of-type(1) > div > div > button
Accessible nameCV
Markup
<button type="button" class="btn btn--ghost" aria-expanded="false" aria-haspopup="true" data-cvtoggle="">
			CV		</button>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref DTSYH9
Affected pagehttps://hariri.ch/
Elementdiv#navdrawer > div > a:nth-of-type(1)
Accessible nameCV Développement Web (FR)
Markup
<a href="https://hariri.ch/wp-content/uploads/2026/08/Diaa-Al-Hariri-CV-FR.pdf" target="_blank" rel="noopener">CV Développement Web (FR)</a>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref LDLBWS
Affected pagehttps://hariri.ch/category/developpement/
Elementdiv#hac-panel > div:nth-of-type(2)
Rolelog
Markup
<div class="hac__log" data-hac-log="" role="log" aria-live="polite" aria-relevant="additions text" tabindex="0"></div>
Affected pages/category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref UER99T
Affected pagehttps://hariri.ch/
Elementheader > div:nth-of-type(1) > div > div > div > a:nth-of-type(1)
Accessible nameCV Développement WebFR
Rolemenuitem
Markup
<a role="menuitem" href="https://hariri.ch/wp-content/uploads/2026/08/Diaa-Al-Hariri-CV-FR.pdf" target="_blank" rel="noopener">
           CV Développement Web<em>FR</em>
         </a>
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)10 instances5 inspected pages

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Why it matters

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Recommended correction

Wrap the content block in a landmark region such as a header, nav, main, footer, or aside to make it reachable by landmark navigation. For example: <main><p class="hac__wait-note" data-hac-wait-note="" hidden="">Vous pouvez attendre sa réponse ou continuer avec l’assistant.</p></main>

View 10 affected elements
Component · Ref 77QUK0
Affected pagehttps://hariri.ch/
Elementdiv#hac-panel > div:nth-of-type(4) > p
Accessible nameVous pouvez attendre sa réponse ou continuer avec l’assistant.
Markup
<p class="hac__wait-note" data-hac-wait-note="" hidden="">Vous pouvez attendre sa réponse ou continuer avec l’assistant.</p>
Affected pages/ /category/actualites-tech /blog /category/developpement /gemini-3-7-flash-code-agents-securite
Medium

Touch targets are too small on mobile

WCAG 2.5.8 (AA)63 instances5 inspected pages

Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.

Why it matters

Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.

Recommended correction

Increase the size of the touch target to at least 24x24px to make it easier for users to activate by touch.

View 63 affected elements
Component · Ref ONMFUT
Affected pagehttps://hariri.ch/gemini-3-7-flash-code-agents-securite/
Elementhtml > body > footer > div > nav > a:nth-of-type(1)
Accessible nameProjets
Markup
<a href="https://hariri.ch/#projets">Projets</a>
Affected pages/ /category/actualites-tech /category/developpement /gemini-3-7-flash-code-agents-securite
Component · Ref W6YSYH
Affected pagehttps://hariri.ch/category/actualites-tech/
Elementdiv > ul:nth-of-type(2) > li:nth-of-type(1) > div > p:nth-of-type(1) > a
Accessible nameActualités Tech
Markup
<a href="https://hariri.ch/category/actualites-tech/">Actualités Tech</a>
Affected pages/category/actualites-tech /blog /category/developpement
Component · Ref ZAT5NE
Affected pagehttps://hariri.ch/category/actualites-tech/
Elementmain#main > div > ul:nth-of-type(2) > li:nth-of-type(1) > div > a
Accessible nameLire l’article → : GitHub Copilot : comprendre la nouvelle application, les agents et le choix des modèles
Markup
<a class="bl-card__more" href="https://hariri.ch/github-copilot-application-agents-modeles-grok-gemini/">
			Lire l’article<span> →</span>
			<span class="sr"> : GitHub Copilot : comprendre la nouvelle application, les agents et le choix des modèles</span>
		</a>
Affected pages/category/actualites-tech /blog /category/developpement
Component · Ref QBWS5Z
Affected pagehttps://hariri.ch/gemini-3-7-flash-code-agents-securite/
Elementmain#main > article > div > ul:nth-of-type(2) > li:nth-of-type(1) > a
Accessible nameIntroducing Gemini 3.7 Flash
Markup
<a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-3-7-flash/" rel="nofollow noopener" target="_blank">Introducing Gemini 3.7 Flash</a>
Component · Ref HV3RJK
Affected pagehttps://hariri.ch/
Elementsection#blog > div:nth-of-type(2) > article:nth-of-type(1) > div:nth-of-type(2) > a
Accessible nameLire la suite : Vomit : à quoi sert cet outil open source qui « traduit » la sortie de Claude via un LLM local
Markup
<a class="post__more" href="https://hariri.ch/vomit-outil-open-source-traduit-sortie-claude-llm-local/">
					Lire la suite<span class="sr"> : Vomit&nbsp;: à quoi sert cet outil open source qui « traduit » la sortie de Claude via un LLM local</span>
				</a>
Component · Ref 0VRI3D
Affected pagehttps://hariri.ch/blog/
Elementmain#main > div > article > div > p:nth-of-type(1) > a
Accessible nameIntelligence artificielle
Markup
<a href="https://hariri.ch/category/intelligence-artificielle/">Intelligence artificielle</a>
Component · Ref PQ6WPX
Affected pagehttps://hariri.ch/gemini-3-7-flash-code-agents-securite/
Elementmain#main > article > footer > p > a
Accessible name← Tous les articles
Markup
<a href="https://hariri.ch/blog/">← Tous les articles</a>
Component · Ref ECD0YO
Affected pagehttps://hariri.ch/gemini-3-7-flash-code-agents-securite/
Elementmain#main > article > header > p:nth-of-type(1) > a
Accessible nameIntelligence artificielle
Markup
<a href="https://hariri.ch/category/intelligence-artificielle/">Intelligence artificielle</a>
Low

ARIA attributes have invalid values

WCAG 4.1.2 (A)8 instances1 inspected page

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Why it matters

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Recommended correction

Verify that the ARIA attributes used in the HTML element are valid and properly formatted. Check that the value of 'aria-controls' matches the id of an existing element in the DOM. Ensure that the 'aria-haspopup' attribute is used correctly to indicate the presence of a dialog. Refer to the WAI-ARIA specification for guidance on using ARIA attributes.

View 8 affected elements
Component · Ref UOUQVE
Affected pagehttps://hariri.ch/
Elementa[href$="#fold-antenne-etang"]
Accessible nameVoir les détails
Markup
<a class="btn btn--ghost" href="#fold-antenne-etang" data-detail="" data-detail-title="L’Antenne Étang" data-detail-kicker="Projet 01" data-detail-url="antenne-etang.ch" aria-haspopup="dialog" aria-controls="hariri-project-panel">Voir les détails</a>

05 · Most affected inspected pages

06 · About this assessment

Evolize inspects publicly accessible website pages using automated browser-based testing and deterministic accessibility rules. Automated testing can identify many reproducible technical issues but cannot determine complete WCAG or legal compliance.

  • Publicly accessible surfaces only — no credentials, private systems, or source-code access.
  • Findings apply to the pages and states successfully inspected; automated analysis may not detect every issue.
  • Results reflect the site at the scan date and may have changed since.

Evolize provides digital risk intelligence and does not provide legal advice, certify compliance, or guarantee that litigation will not occur. Methodology · Security · Example assessment

07 · Continuous monitoring

This public report captures one assessment. Evolize monitoring rescans the website, detects new and recurring findings, tracks changes over time and verifies corrections.

Is information in this report inaccurate or outdated? Request a correction or removal.