Thanks

#Jfokus

#Jfokus | #DeveloperCommunity

@saltnburnem

I ❤️ #DeveloperCommunity

#Jfokus | #DeveloperCommunity

@saltnburnem

Add alt text to ANY pics that are used on social media!

#Jfokus | #DeveloperCommunity

@saltnburnem

Chris DeMars

@saltnburnem

Senior Developer Advocate

@chrisdemars.net

🦋

#Jfokus | #DeveloperCommunity

@saltnburnem

Shownotes

#Jfokus | #DeveloperCommunity

@saltnburnem

More about me!

  • International Speaker
  • Love Spooky Stuff
  • Love Tattoos
  • Competitive Paintball Player
  • Competitive Bass Angler
  • From Detroit - 313 BABY!

#Jfokus | #DeveloperCommunity

@saltnburnem

#Jfokus | #DeveloperCommunity

@saltnburnem

HOW SWEDE IT IS!

#Jfokus | #DeveloperCommunity

@saltnburnem

Detroit loves you!

Run to the Light Carol Anne

Auditing with Lighthouse

What is an audit?

#Jfokus | #DeveloperCommunity

@saltnburnem

A website audit is an examination of page performance prior to large-scale search engine optimization (SEO) or a website redesign.

#Jfokus | #DeveloperCommunity

@saltnburnem

What can we audit?

#Jfokus | #DeveloperCommunity

@saltnburnem

What can we audit?

  • Site performance - #PerfMatters
  • Compliance
  • Security
  • Accessibility
  • SEO (Search Engine Optimization)

#Jfokus | #DeveloperCommunity

@saltnburnem

Why do we audit?

#Jfokus | #DeveloperCommunity

@saltnburnem

Why do we audit?

  • Site performance - #PerfMatters
  • Compliance
  • Security
  • Accessibility
  • SEO (Search Engine Optimization)

#Jfokus | #DeveloperCommunity

@saltnburnem

Performance

#Jfokus | #DeveloperCommunity

@saltnburnem

Performance Resource to Pair with Lighthouse

#Jfokus | #DeveloperCommunity

@saltnburnem

SEO

#Jfokus | #DeveloperCommunity

@saltnburnem

Keywords, Structure, Description, Google Analytics, etc.

#Jfokus | #DeveloperCommunity

@saltnburnem

Best Practices

#Jfokus | #DeveloperCommunity

@saltnburnem

Proper doctype, no console errors, etc.

#Jfokus | #DeveloperCommunity

@saltnburnem

Proper doctype, no console errors, etc.

<!DOCTYPE html>
979045512?random=171…ent%3Dgtag.config:1 Uncaught (in promise) DOMException:

#Jfokus | #DeveloperCommunity

@saltnburnem

Security & HTTPS

<div class="...">
  <a href="..." target="_blank" rel="noopener noreferrer nofollow"></a>
</div>

#Jfokus | #DeveloperCommunity

@saltnburnem

Accessibility

#Jfokus | #DeveloperCommunity

@saltnburnem

Semantic markup and ARIA

<header>
  <!--- Some code goes here --->
</header>
<main>
  <section>
    <!--- Some code goes here --->
  </section>
  <section>
    <!--- Some code goes here --->
  </section>
  <section>
    <!--- Some code goes here --->
  </section>
</main>
<footer>
  <section>
    <ul>
      <li>
        <a href="#" aria-label="Facebook">
          <i class="fab fa-3x fa-facebook-f"></i>
        </a>
      </li>
      <li>
        <a href="#" aria-label="Instagram">
          <i class="fab fa-3x fa-instagram-f"></i>
        </a>
      </li>
      <li>
        <a href="#" aria-label="Twitter">
          <i class="fab fa-3x fa-twitter-f"></i>
        </a>
      </li>
    </ul>
  </section>
</footer>

#Jfokus | #DeveloperCommunity

@saltnburnem

first rule of aria?

#Jfokus | #DeveloperCommunity

@saltnburnem

Aria

#Jfokus | #DeveloperCommunity

@saltnburnem

Aria

🚫

#Jfokus | #DeveloperCommunity

@saltnburnem

How do we audit?

#Jfokus | #DeveloperCommunity

@saltnburnem

#Jfokus | #DeveloperCommunity

@saltnburnem

ALWAYS AUDIT

in incognito!

#Jfokus | #DeveloperCommunity

@saltnburnem

OFF WE GO TO CHROME!

#Jfokus | #DeveloperCommunity

@saltnburnem

OR

the terminal

#Jfokus | #DeveloperCommunity

@saltnburnem

npm install -g lighthouse

#Jfokus | #DeveloperCommunity

@saltnburnem

npm install -g lighthouse
lighthouse https://www.fright-rags.com/ -view

#Jfokus | #DeveloperCommunity

@saltnburnem

Problems

#Jfokus | #DeveloperCommunity

@saltnburnem

#Jfokus | #DeveloperCommunity

@saltnburnem

perf

#Jfokus | #DeveloperCommunity

@saltnburnem

First Contentful Paint (FCP)

#Jfokus | #DeveloperCommunity

@saltnburnem

First Contentful Paint (FCP)

First Contentful Paint (FCP) measures the time from when the user first navigated to the page to when any part of the page's content is rendered on the screen.

#Jfokus | #DeveloperCommunity

@saltnburnem

First Contentful Paint (FCP)

First Contentful Paint (FCP) measures the time from when the user first navigated to the page to when any part of the page's content is rendered on the screen.

"content" refers to text, images (including background images), <svg> elements, or non-white <canvas> elements.

#Jfokus | #DeveloperCommunity

@saltnburnem

Largest Contentful Paint (LCP)

#Jfokus | #DeveloperCommunity

@saltnburnem

Largest Contentful Paint (LCP)

LCP reports the render time of the largest image, text block, or video visible in the viewport, relative to when the user first navigated to the page.

#Jfokus | #DeveloperCommunity

@saltnburnem

Speed Index

#Jfokus | #DeveloperCommunity

@saltnburnem

Speed index

Speed Index measures how quickly content is visually displayed during page load.

#Jfokus | #DeveloperCommunity

@saltnburnem

FCP (first contentful paint)

LCP (Largest Contentful Paint)

Speed Index

0–3.4s

0–2.5s

0–1.8s

#Jfokus | #DeveloperCommunity

@saltnburnem

a11y

#Jfokus | #DeveloperCommunity

@saltnburnem

best

practices

#Jfokus | #DeveloperCommunity

@saltnburnem

seo

#Jfokus | #DeveloperCommunity

@saltnburnem

Solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

Performance

Solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

performance Solutions

  • Reduce unused CSS
  • Reduce unused JS
  • Eliminate render-blocking resources

#Jfokus | #DeveloperCommunity

@saltnburnem

a11y Solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

a11y Solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

a11y Solutions

@saltnburnem

#Jfokus | #DeveloperCommunity

@saltnburnem

Accessibility Solutions

  • Use ARIA roles responsibly
  • Fix the color contrast
  • Make sure to list semantic elements properly

#Jfokus | #DeveloperCommunity

@saltnburnem

best practices
Solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

Best Practice Solutions

  • Use up-to-date API's
  • Make sure there are NO console errors or logs
  • Ensure an effective CSP is in place

#Jfokus | #DeveloperCommunity

@saltnburnem

SEO Solutions

We are good!

#Jfokus | #DeveloperCommunity

@saltnburnem

BUT...if we HAD issues!

  • Make sure there is a <meta name="viewport"> tag
  • Links should have discernible text
  • The heading level hierachy should make sense

#Jfokus | #DeveloperCommunity

@saltnburnem

What did we learn?

  • What a web audit is?
  • How to run an audit in Lighthouse
  • Identifying problems
  • Creating solutions

#Jfokus | #DeveloperCommunity

@saltnburnem

Thanks

Chris DeMars | @saltnburnem

#Jfokus | #DeveloperCommunity

@saltnburnem

Shownotes

#Jfokus | #DeveloperCommunity

@saltnburnem

Jfokus - Run to the Light Carol Anne

By Chris DeMars

Jfokus - Run to the Light Carol Anne

  • 2