Juno
How it worksExample reportPricing
Start free audit
© Juno
Deutsch
ImprintPrivacyTermsWithdrawal
IndustryBakery chainRehab centresRestaurant chainElectrical contractorOnline shopFood producerMetal engineeringElectronics maker

Real exampleA real German company’s website, checked with the free quick check on 24 Oct 2026. Name and address removed.

Homepage · 24 Oct 2026

elektrotechnik-gruppe.example

Poor overall: 22 things to improve, with Conversion scoring lowest. Start with one action, one name. Quick audit: only the code-measured checks ran, so design and copy judgement is still missing. 4 checks need a person to confirm.

critical
3
major
7
minor
12
Checked52%quick audit
45of 100Poor5 high-impact fixes you can make in minutes

Scores by audit

If you only do three things

  1. One action, one name

    When one destination has several names, or one name leads to different places, visitors stop trusting the navigation and second-guess every click.

    Fix→Give every destination one label and use it everywhere: menu, buttons, footer and page title. Rename or remove the duplicates the audit found.

  2. Text and controls are readable

    Low-contrast text is hard to read for people with low vision, older visitors and anyone on a phone in sunlight. It’s also the most common accessibility failure.

    Fix→Darken text until it reaches at least 4.5:1 against its background (3:1 for large text and for icons, borders and focus rings).

  3. Controls announce what they are

    Screen readers announce controls by their name. A button without one is announced as just “button”.

    Fix→Give icon-only buttons and links an aria-label, connect form fields to their <label>, and make sure the accessible name contains the visible text.

Accessibility

Poor 28/100

Accessibility is where visitors struggle most. I'd start with "text and controls are readable".

  • critical

    Text and controls are readable

    38 elements fall below WCAG contrast minimums. Low-contrast text is hard to read for people with low vision, older visitors and anyone on a phone in sunlight. It’s also the most common accessibility failure.

    Fix→Darken text until it reaches at least 4.5:1 against its background (3:1 for large text and for icons, borders and focus rings).

    For your developer
    • .dropdown:nth-child(1) > .dropdown-toggle[href="#"][data-toggle="dropdown"] · "LEISTUNGEN": #ef0000 on #ffffff is 4.49:1, needs 4.5:1 (try #ea0000)
    • .dropdown:nth-child(2) > .dropdown-toggle[href="#"][data-toggle="dropdown"] · "REFERENZEN": #ef0000 on #ffffff is 4.49:1, needs 4.5:1 (try #ea0000)
    • .dropdown:nth-child(3) > .dropdown-toggle[href="#"][data-toggle="dropdown"] · "AKTUELLES": #ef0000 on #ffffff is 4.49:1, needs 4.5:1 (try #ea0000)

    WCAG 2.2 SC 1.4.3, 1.4.11

  • critical

    Controls announce what they are

    7 controls without a usable accessible name or valid ARIA (link-name). Screen readers announce controls by their name. A button without one is announced as just “button”.

    Fix→Give icon-only buttons and links an aria-label, connect form fields to their <label>, and make sure the accessible name contains the visible text.

    For your developer
    • .left · Element does not have text that is visible to screen readers
    • .right · Element does not have text that is visible to screen readers
    • .nav-social.nav:nth-child(2) > li:nth-child(1) > a[target="_blank"] · Element does not have text that is visible to screen readers

    WCAG 2.2 SC 4.1.2, 2.5.3

  • critical

    Motion can be paused and calmed

    Content moves on its own (1 element) with no pause or stop control. Moving content can make some people dizzy or unable to focus, and flashing can trigger seizures.

    Fix→Add a pause button to anything that moves for more than five seconds, avoid flashing, and turn off non-essential animation under prefers-reduced-motion.

    For your developer
    • animations at load: 0
    • with reduced motion: 0
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(2) · Changes on its own (4× in 6 s)

    WCAG 2.2 SC 2.2.2, 2.3.1

  • major

    Focus is always visible

    34 focus stop(s) without a visible indicator, 0 hidden behind other elements, out of 47. Keyboard users need to see where they are. Without a visible focus outline they are navigating blind.

    Fix→Never remove the focus outline without a replacement. Add a clear :focus-visible style (for example a 2 px outline with 3:1 contrast) to every interactive element.

    For your developer
    • header.navbar-fixed-top > div.container > nav.navbar > a.navbar-brand · No visible focus change: ""
    • div.collapse:nth-of-type(2) > div.navbar-container > ul.nav > li.dropdown:nth-of-type(3) > a.dropdown-toggle · No visible focus change: "AKTUELLES"
    • div.collapse:nth-of-type(2) > div.navbar-container > ul.nav > li.dropdown:nth-of-type(5) > a.dropdown-toggle · No visible focus change: "KARRIERE"
    • #c4275 > p > a · No visible focus change: "Gebäudeautomatisierung"

    WCAG 2.2 SC 2.4.7, 2.4.11

  • major

    Structure is real, not just visual

    No h1 on the page; screen-reader users can't jump to the content. Screen reader users jump by headings and landmarks. A page without real structure is one long stream.

    Fix→Use one <h1>, nest headings in order (h2 under h1, h3 under h2), and wrap the page in <header>, <nav>, <main> and <footer>.

    For your developer
    • h1 count: 0 (target 1)

    WCAG 2.2 SC 1.3.1, 1.3.2

  • major

    Everything works with a keyboard

    no skip link and no main landmark to bypass the header. People who can’t use a mouse rely on the keyboard. Anything they can’t reach is something they can’t use.

    Fix→Use real <button> and <a href> elements for anything clickable, don’t remove them from the tab order, and add a “Skip to content” link.

    For your developer
    • focus stops: 47
    • unreachable controls: 0 (target 0)
    • backward jumps: 0 (target 1)

    WCAG 2.2 SC 2.1.1, 2.1.2

  • minor

    Predictable across pages

    Navigation order differs on 15 of 15 pages. When navigation moves around between pages, people relying on memory or assistive tech lose their way.

    Fix→Keep navigation in the same place and order on every page, and don’t change context automatically when a field gets focus or input.

    For your developer
    • Navigation differs from the homepage

    WCAG 2.2 SC 3.2.1, 3.2.2

SEO

Poor 52/100

SEO is where visitors struggle most. I'd start with "core web vitals in the green".

  • major

    Core Web Vitals in the green

    Lab data: LCP 17909 ms, CLS 0.00, Total Blocking Time 0 ms. Slow, jumpy pages rank lower and lose visitors before they load.

    Fix→Shrink and preload the largest above-the-fold image, defer non-critical JavaScript, and reserve space for images and embeds to stop layout shift.

    For your developer
    • LCP (lab, mobile): 17908.85 ms (target 2500)
    • CLS: 0 (target 0.1)
    • Total Blocking Time (lab, stands in for INP): 0 ms (target 200)

    web.dev: Core Web Vitals thresholds (LCP 2.5 s, INP 200 ms, CLS 0.1)

  • minor

    Unique, descriptive titles and descriptions

    13 page(s) without a meta description; 2 description(s) outside 70–170 characters; 1 title(s) outside 15–65 characters. The title and description are your ad in search results. Missing or duplicate ones get fewer clicks.

    Fix→Write a unique title per page (main topic first, brand last, under about 60 characters) and a 120–160 character description that makes people want to click.

    For your developer
    • Title 93 characters: "[brand] | Familienunternehmen | Installations- und Gebäudetechnik - [brand]"
    • No meta description

    Google Search Central: Influencing title links in search results

  • minor

    Structured data for what the business is

    No structured data found; search engines have to guess what the business is. Structured data tells search engines what your business is and can earn richer search results.

    Fix→Add JSON-LD for your business type (Organization, LocalBusiness, Product or Article) with name, logo, contact details and links, and validate it in Google’s Rich Results Test.

    For your developer
    • JSON-LD blocks: 0

    Google Search Central: Structured data general guidelines

  • minor

    Looks right when shared

    Missing og:title, og:description, og:image; shared links will look bare. Links shared without a preview image and description get far fewer clicks.

    Fix→Add og:title, og:description and a 1200 × 630 px og:image to every key page, and check them with a link preview tool.

    For your developer
    • No og:title
    • No og:description
    • No og:image

    Google Search Central: SEO Starter Guide

  • minor

    Images are light and described

    Image delivery can improve: Improve image delivery (Est savings of 1,706 KiB); Image elements do not have explicit `width` and `height`. Heavy images slow every page, especially on mobile data.

    Fix→Serve images as WebP or AVIF at the size they are shown, set width and height, and add loading="lazy" to images below the fold.

    For your developer
    • Improve image delivery (Est savings of 1,706 KiB)
    • Image elements do not have explicit `width` and `height`

    Google Search Central: SEO Starter Guide

Copy

Needs work 58/100

Copy needs some love. I'd start with "c5 · plain, readable language".

  • major

    C5 · Plain, readable language

    Harder to read than needed: Amstad 20 (aim ≥ 60); sentences average 21 words. Long sentences and difficult words lose readers, including experts reading on a phone.

    Fix→Aim for sentences under 20 words, prefer everyday words, write in the active voice, and explain any jargon the first time it appears.

    For your developer
    • Amstad (Flesch, German): 19.8
    • average sentence length: 21.26 words (target 20)

    plainlanguage.gov: Federal Plain Language Guidelines

  • minor

    C6 · Buttons and links say what happens

    1 vague button/link label(s). Labels like “Learn more” or “Click here” don’t say what happens, so people hesitate or skip them.

    Fix→Write every button and link as a verb plus what the visitor gets: “Book a call”, “See pricing”, “Download the guide”.

    For your developer
    • #c1364 > p > a.internal-link · "HIER" → https://elektrotechnik-gruppe.example/referenzen/gebaeudeautomatisierung

    WCAG 2.2 SC 2.4.4

UI

Needs work 69/100

UI needs some love. I'd start with "size-aware tracking and leading".

  • minor

    Size-aware tracking and leading

    3 of 3 large headings use loose tracking or leading. Large headings with loose letter spacing and tall line height look unfinished and break apart as words.

    Fix→For text 32 px and up, use letter-spacing of 0 or slightly negative (around -0.01 to -0.02em) and line height of 1.0–1.2.

    For your developer
    • #c1211 > div.fce-counter > span.counter · 40px, letter-spacing normal, line-height 57.1429px: "1060"
    • #c1210 > div.fce-counter > span.counter · 40px, letter-spacing normal, line-height 57.1429px: "13"
    • #c1209 > div.fce-counter > span.counter · 40px, letter-spacing normal, line-height 57.1429px: "630"

    Apple: Designing Fluid Interfaces (WWDC 2018)

  • minor

    Snappy durations and natural easing

    4 transition(s) over 500 ms, 0 movement(s) with linear easing. Slow or linear animations make an interface feel sluggish; the right timing makes it feel responsive.

    Fix→Use 100–200 ms for small interactions and 200–400 ms for panels, ease-out for things entering, and nothing over 500 ms on a click path.

    For your developer
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(2) · hover: transform 600ms ease-in-out
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(3) · hover: transform 600ms ease-in-out
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(2) · focus: transform 600ms ease-in-out
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(3) · focus: transform 600ms ease-in-out

    Emil Kowalski: Design engineering & animation decision framework

  • minor

    Spacing on a system

    58% of spacing values sit on a 5 px grid; text aligns to 6 left edges. Random spacing makes a layout feel slightly off even when visitors can’t say why.

    Fix→Choose a spacing base (4 or 8 px), define a short set of steps (8, 16, 24, 32, 48, 64), and replace one-off values with the nearest step.

    For your developer
    • spacing on 5 px grid: 58 % (target 80)
    • distinct left text edges: 6 (target 4)

    Adam Wathan & Steve Schoger: Refactoring UI — hierarchy, spacing systems, limited palettes

Conversion

Not checked yet 11% measured

Conversion is where visitors struggle most. I'd start with "fast on a phone".

  • major

    Fast on a phone

    Landing page: LCP 17.9 s, 5.9 MB on mobile. Later funnel steps are measured by the funnel walk. On phones, every extra second of loading costs conversions.

    Fix→Get mobile LCP under 2.5 s and pages under 2 MB: compress images, cut unused scripts and fonts, and lazy-load what’s below the fold.

    For your developer
    • LCP (mobile, lab): 17908.85 ms (target 2500)
    • page weight: 5.88 MB (target 2)

    web.dev: Core Web Vitals thresholds (LCP 2.5 s, INP 200 ms, CLS 0.1)

  • minor

    Conversions can be measured

    No analytics found, so conversions cannot be measured or improved. Without measurement you can’t tell which changes help, so improvements become guesswork.

    Fix→Install privacy-friendly analytics and track your key actions (button clicks, form submissions, bookings) as conversion events.

    For your developer
    • analytics hosts: 0

    Corey Haines (marketingskills): cro, signup, popups and offers skills

UX

Not checked yet 38% measured

UX is where visitors struggle most. I'd start with "one action, one name".

  • major

    One action, one name

    15 page(s) reached under different names; 6 label(s) leading to different pages. When one destination has several names, or one name leads to different places, visitors stop trusting the navigation and second-guess every click.

    Fix→Give every destination one label and use it everywhere: menu, buttons, footer and page title. Rename or remove the duplicates the audit found.

    For your developer
    • "elektrotechnik" ×32, "leistungen" ×1, "referenzen" ×1, "aktuelles" ×1, "über uns" ×1, "karriere" ×1
    • "brandmeldeanlagen" ×32, "leistungen" ×1, "referenzen" ×1, "aktuelles" ×1, "über uns" ×1, "karriere" ×1
    • "telefontechnik" ×32, "leistungen" ×1, "referenzen" ×1, "aktuelles" ×1, "über uns" ×1, "karriere" ×1
    • "gebäudeautomatisierung" ×32, "leistungen" ×1, "referenzen" ×1, "aktuelles" ×1, "über uns" ×1, "karriere" ×1

    Jakob Nielsen, NN/g: 10 Usability Heuristics for User Interface Design

  • minor

    Visitors stay in control

    1 element(s) change on their own; whether visitors can pause them, and how overlays close, needs the judge stage. Content that moves on its own, or overlays that are hard to close, take control away from visitors. They read more slowly than carousels advance.

    Fix→Let visitors pause or stop anything that changes by itself, make overlays closable with a close button, Escape and a click outside, and keep the Back button working.

    For your developer
    • #header-slider > div.container > div.carousel-inner > div.item:nth-of-type(2) · 4 changes in 6 s without input

    Jakob Nielsen, NN/g: 10 Usability Heuristics for User Interface Design

  • minor

    Mobile is a first-class experience

    First action 0.3 screens down; 2 key button(s) under 44px tall. Most visits are on phones. Small tap targets and actions pushed far down make the mobile site feel second-class.

    Fix→Make primary buttons at least 44 px tall, bring the main action into the first screen on mobile, and check that nothing overflows sideways.

    For your developer
    • div.container > div.carousel-inner > div.item:nth-of-type(1) > div.carousel-caption > a.btn · First prominent action "Alles aus einer Hand!" at 0.3 screens dow…
    • header.navbar-fixed-top > div.container > nav.navbar > div.navbar-header:nth-of-type(1) > button.navbar-toggle · 40px tall: "Toggle navigation"
    • div.container > div.carousel-inner > div.item:nth-of-type(1) > div.carousel-caption > a.btn · 41px tall: "Alles aus einer Hand!"

    NN/g: Mobile UX guidelines (touch targets, content priority)

Your 30-minute plan

0 of 14 done

Small fixes with a big pay-off. Tick them off as you go.

That's it from me. Make a few changes, run me again, and I'll tell you what moved.

Run your own audit