Residential and commercial solar installers, rooftop-PV and ground-mount installers, solar-plus-battery-storage companies, solar-lease and power-purchase-agreement (PPA) providers, community-solar subscription companies, and EPC (engineering, procurement, and construction) solar contractors run nearly all of their customer acquisition through a website that bundles an instant savings calculator (enter your address and monthly electric bill, get an estimated system size and 20-year savings), a satellite-roof-analysis quote tool, a financing-and-incentive explainer (federal Residential Clean Energy Credit, state rebates, net-metering, SRECs), a financing or lease/PPA application, a consultation booker, and a customer portal for project status and system monitoring. Solar is a high-ticket, finance-heavy, disclosure-heavy purchase—systems routinely run $15,000-$45,000 and are frequently financed over 10-25 years—so the website is making material financial representations that every consumer, including those using assistive technology, must be able to perceive and act on. A blind homeowner comparing a 20-year savings estimate, a low-vision senior reviewing the difference between a cash purchase, a solar loan, and a PPA, a keyboard-only customer completing a multi-step financing application, or a screen-reader user trying to read federal-tax-credit eligibility language are routinely blocked by interactive map-based quote tools, unlabeled slider inputs, and savings charts rendered as inaccessible images. Solar installers are places of public accommodation under ADA Title III, face California Unruh exposure (and California is the largest solar market in the U.S.), fall under the European Accessibility Act once they serve EU-resident customers or sell online, and carry a consumer-finance disclosure overlay (TILA/Regulation Z for solar loans, plus FTC guidance on deceptive solar-savings claims) that requires financing and savings disclosures to be clear and accessible. This guide covers the legal framework, the solar-industry failure patterns, and a concrete compliance checklist.

Legal Requirements

Key Accessibility Issues in Solar Installers & Residential Solar-Energy Companies

Instant Savings Calculators With Unlabeled Sliders and Inaccessible Address/Bill Inputs

The instant savings calculator is the solar industry's signature lead tool: the homeowner enters their address and average monthly electric bill (often via a drag slider) and receives an estimated system size, cost, and 20-year savings figure. These widgets fail repeatedly: the monthly-bill slider is a custom <div> with no role='slider', aria-valuenow, aria-valuetext, or arrow-key support; the address field uses a third-party autocomplete with no <label> and an inaccessible suggestion dropdown; and the resulting savings figure is injected into the page without an aria-live announcement. A screen-reader or keyboard user cannot set their bill amount or perceive the estimate, locking them out of the very first step of the funnel.

How to fix:

Implement the monthly-bill input as a native <input type='range'> with a visible <label>, aria-valuetext that speaks a currency value ('$180 per month'), and full arrow-key support—or, better, offer a plain <input type='number'> with a label as an equally valid path. Give the address field a real <label> and implement the autocomplete as a proper ARIA combobox with aria-expanded, aria-activedescendant, and aria-live announcement of suggestions. Announce the calculated system size, cost, and savings through an aria-live='polite' region, and present them as accessible text rather than only inside a chart image.

Satellite Roof-Analysis and System-Design Tools With No Text Alternative

Many solar sites embed a satellite roof-analysis tool (Google Sunroof-style or proprietary) that draws panels on an aerial image of the customer's roof and reports usable roof area, panel count, and production estimate. The interactive map and panel-layout canvas are typically unlabeled and unreachable by keyboard, with the key outputs—usable area, recommended system size, estimated annual production—presented only as visual overlays on the image. A blind or low-vision homeowner cannot operate the tool or read its results, and there is usually no equivalent text summary.

How to fix:

Treat the interactive map as a sighted-user enhancement and provide an equivalent accessible text summary of every output: usable roof area, recommended panel count and wattage, estimated annual kWh production, and offset percentage, all as real text with proper headings. Where customers can adjust the design, provide accessible form controls (labeled inputs, radio groups) to change panel count or orientation, and announce recalculated results through aria-live. Offer a staffed alternative where a representative completes the roof analysis and reviews results by phone or accessible document.

Savings and Production Charts Rendered as Inaccessible Images

Solar proposals lean heavily on charts: 20-year cumulative-savings curves, monthly-production bar charts, utility-bill-with-vs-without-solar comparisons, and break-even timelines. These are routinely rendered as flat <img> elements or as <canvas>/SVG charts with no text alternative, no accessible data table, and color-only series differentiation. The chart is often the single most important decision input on the page, and a screen-reader user gets none of it; a color-blind user cannot tell the 'with solar' line from the 'without solar' line.

How to fix:

Pair every chart with an accessible data table (semantic <table> with <caption>, <th scope='col'>, and <th scope='row'>) presenting the same figures, or provide a concise text summary of the key takeaways (estimated 20-year savings, payback period, year-one offset). Do not rely on color alone to distinguish chart series—use text labels, patterns, or direct labeling—and ensure all chart text and the surrounding context meet the 4.5:1 contrast minimum.

Financing Applications and APR/Lease Disclosures That Fail Assistive Technology

Solar loans, leases, and PPAs are presented through a financing comparison and a multi-step application. Common failures: the loan-vs-lease-vs-PPA comparison is an image table; the TILA-required disclosure of APR, finance charge, amount financed, and total of payments is rendered as fine-print image text or in low contrast; the multi-step application uses unlabeled fields and a progress indicator that is not announced; and the e-signature step is an inaccessible third-party widget. A consumer using assistive technology cannot perceive the binding financial terms they are being asked to accept, implicating both Regulation Z's clear-and-conspicuous standard and the disability-access obligation.

How to fix:

Render the loan/lease/PPA comparison and all TILA disclosures as accessible HTML: a semantic <table> with <caption> and <th scope=> for the comparison, and clearly structured, high-contrast text for APR, finance charge, amount financed, total of payments, and payment schedule. Build the application with labeled fields, <fieldset>/<legend> grouping, an aria-live-announced step indicator, and error messages associated via aria-describedby. Choose an e-signature provider with a documented accessibility conformance report (ACR/VPAT) and a keyboard- and screen-reader-operable signing flow.

Incentive-Eligibility Explainers and Consultation Bookers With Inaccessible Patterns

Solar sites explain federal and state incentives (the 30% federal Residential Clean Energy Credit, state rebates, net-metering, SRECs) and book consultations. Incentive explainers are often delivered as image infographics or untagged PDFs, accordion FAQs that are not keyboard-operable, and eligibility quizzes whose results are not announced. Consultation bookers reuse the same calendar and time-slot failures seen across booking widgets. A screen-reader user cannot read incentive eligibility—material to whether solar makes financial sense—or book a consultation to ask about it.

How to fix:

Present incentive information as accessible HTML with proper headings and, where helpful, an accessible data table summarizing each incentive, its value, and basic eligibility; avoid making an infographic or PDF the only source. Build FAQ accordions with proper button semantics, aria-expanded, and keyboard support. Announce eligibility-quiz results through aria-live. Use an accessibility-tested consultation scheduler with keyboard-navigable dates, time slots as real <button> elements, and aria-live confirmation. Include a clear, accessible disclaimer that incentive eligibility depends on individual tax circumstances (not tax advice).

Compliance Checklist

  • Monthly-bill input uses a native <input type='range'> with aria-valuetext (currency) and arrow-key support, or a labeled <input type='number'>
  • Address field has a real <label> and the autocomplete is a proper ARIA combobox with aria-expanded and aria-activedescendant
  • Calculated system size, cost, and savings are announced through aria-live='polite' and presented as accessible text
  • Satellite roof-analysis outputs (usable area, panel count, annual kWh, offset %) have an equivalent accessible text summary
  • Design-adjustment controls use labeled inputs or radio groups, with recalculated results announced through aria-live
  • A staffed phone or accessible-document alternative is offered for roof analysis and proposal review
  • Every savings/production chart is paired with an accessible data table or a concise text summary of key figures
  • Chart series are distinguished by text labels or patterns, not color alone, and meet 4.5:1 contrast
  • Loan/lease/PPA comparison is rendered as a semantic <table> with <caption> and <th scope=>, not an image
  • TILA disclosures (APR, finance charge, amount financed, total of payments, schedule) are high-contrast accessible HTML text
  • Financing application uses labeled fields, <fieldset>/<legend> grouping, and an aria-live-announced step indicator
  • Application errors are associated via aria-describedby and described in text, not color alone
  • E-signature provider has a documented ACR/VPAT and a keyboard- and screen-reader-operable signing flow
  • Incentive information is accessible HTML with headings and an accessible summary table, not an infographic or untagged PDF only
  • FAQ accordions use proper button semantics, aria-expanded, and keyboard support
  • Eligibility-quiz results are announced through aria-live
  • Consultation scheduler is keyboard-navigable with time slots as real <button> elements and aria-live confirmation
  • An accessible 'not tax advice' disclaimer accompanies incentive-eligibility content
  • Customer portal (project status, system monitoring) meets WCAG 2.2 AA including keyboard operation and visible focus

Further Reading

Other Industry Guides