Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessibility and performance fixes #1228

Merged
merged 20 commits into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
88b8ea8
Fix DOM structure of landing page tabs
delucis Aug 22, 2024
db52933
Fix missing accessible labels in theme image gallery
delucis Aug 22, 2024
6ac40ad
Fix heading levels in Privacy Policy and Terms of Service
delucis Aug 22, 2024
1bf00f0
Fix cards in lists that aren’t list items
delucis Aug 22, 2024
259b14d
Fix ARIA and clean up verbose JS in use case tabs
delucis Aug 22, 2024
e9292a0
Fix failing text contrast in ORM and SQL feature cards
delucis Aug 22, 2024
eed35fc
Fix misused `<aside>` in `/db/` hero section
delucis Aug 22, 2024
df564df
Fix misused `<dl>` in intro section of `/db/`
delucis Aug 22, 2024
7366250
Fix clash of names between DB subnav and footer `<nav>` elements
delucis Aug 22, 2024
64acf4d
Add trailing slashes to internal theme and showcase links to match ca…
delucis Aug 22, 2024
2e095da
Fix landing page hero performance
delucis Aug 22, 2024
c289552
Lazy load below the fold images on the homepage
delucis Aug 22, 2024
a7551cc
Prioritise hero background loading on landing page
delucis Aug 22, 2024
07ebade
More lazy load opportunities on homepage
delucis Aug 22, 2024
cf75c7c
Add cache headers for `/fonts/*` CDN
delucis Aug 22, 2024
55b3128
Reduce size of ecosystem thumbnails on homepage
delucis Aug 22, 2024
3cf26a9
Use inline SVGs for islands performance chart
delucis Aug 22, 2024
ca8e561
Revert `fonts/*` headers change — needs setting at CDN level
delucis Aug 22, 2024
1469def
Fix content shift in theme tabs component
delucis Aug 22, 2024
507045b
Merge branch 'main' into chris/a11y
delucis Aug 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions public/assets/web-vitals/gatsby-logo.svg

This file was deleted.

20 changes: 0 additions & 20 deletions public/assets/web-vitals/next-js-logo.svg

This file was deleted.

3 changes: 0 additions & 3 deletions public/assets/web-vitals/nuxt-logo.svg

This file was deleted.

9 changes: 0 additions & 9 deletions public/assets/web-vitals/wordpress-logo.svg

This file was deleted.

4 changes: 2 additions & 2 deletions src/components/ImageGallery.astro
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ const { images, class: className, ...attrs } = Astro.props;
</button>
</div>
</div>
<nav class="w-full sm:h-full sm:overflow-y-auto">
<nav class="w-full sm:h-full sm:overflow-y-auto" aria-label="Image gallery">
<ul class="hidden h-full sm:block">
{
images.map((image, i) => (
Expand All @@ -68,7 +68,7 @@ const { images, class: className, ...attrs } = Astro.props;
src={image}
height={900}
width={1600}
alt=""
alt={`Preview image ${i + 1}`}
class="aspect-video h-full w-full object-cover object-top"
decoding="async"
loading="lazy"
Expand Down
7 changes: 4 additions & 3 deletions src/components/Pagination.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import type { Page } from 'astro';
import type { HTMLAttributes } from 'astro/types';
import { collapseRange } from '~/helpers/paginate.js';
import { ensureTrailingSlash } from '~/helpers/path.ts';
import LeftArrowIcon from '~/icons/LeftArrowIcon.jsx';
import RightArrowIcon from '~/icons/RightArrowIcon.jsx';

Expand Down Expand Up @@ -36,7 +37,7 @@ const collapsedPages = collapseRange(page, pages);
page.url.prev && (
<li class="prev rounded-full border border-white">
<a
href={page.url.prev}
href={ensureTrailingSlash(page.url.prev)}
data-astro-prefetch
class="flex h-10 w-10 items-center justify-center"
>
Expand All @@ -52,7 +53,7 @@ const collapsedPages = collapseRange(page, pages);
<p>{link.text}</p>
) : (
<a
href={link.href}
href={ensureTrailingSlash(link.href)}
class:list={[
'relative flex h-10 w-10 items-center justify-center rounded-md border border-transparent transition-colors duration-150',
link.pageNum !== page.currentPage && 'hover:border-white focus:border-white',
Expand All @@ -72,7 +73,7 @@ const collapsedPages = collapseRange(page, pages);
page.url.next && (
<li class="next ease rounded-full border border-white transition-colors duration-150">
<a
href={page.url.next}
href={ensureTrailingSlash(page.url.next)}
data-astro-prefetch
class="flex h-10 w-10 items-center justify-center"
>
Expand Down
22 changes: 11 additions & 11 deletions src/content/pages/privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,34 @@ _In addition to this Privacy Policy, Astro also has [Terms of Service](/terms/).

The Astro Privacy Policy describes the privacy practices of Astro website and services. The laws of California and the laws of the United States apply. If you are a resident of EU/EEA, the European Commission-approved Standard Contractual Clauses (also referred to as Model Contracts) apply to Trans-Atlantic data transfers.

### General Information
## General Information

We collect very limited personally identifiable information described below (the “data”) from [GitHub](https://help.github.com/articles/github-privacy-policy/) and of those who communicate with us directly via e-mail, aggregate information on what pages consumers access or visit, and information volunteered by the consumer (such as survey information and/or site registrations). The information we collect is used to provide our services, and to improve the quality of our services, and is not shared with or sold to other organizations for commercial purposes, except to provide products or services you've requested when we have your permission, or under the following circumstances:

- It is necessary to share information in order to investigate, prevent, or take action regarding illegal activities, suspected fraud, situations involving potential threats to the physical safety of any person, violations of [Terms of Service](/terms/), or as otherwise required by law.
- We transfer information about you if Astro is acquired by or merged with another company. In this event, Astro will notify you before information about you is transferred and becomes subject to a different privacy policy.

### Information Gathering and Usage
## Information Gathering and Usage

Astro uses collected information for the following general purposes: products and services provision, billing, identification and authentication through GitHub, Bitbucket, services improvement, contact, and research. Astro uses personally identifiable information on billing address and/or payment information only for the sole purpose of payment processing for Astro services.

Payment processing services enable us to process payments by credit card, bank transfer or other means. To ensure greater security, we share only the information necessary to execute the transaction with the financial intermediaries handling the transaction. Some of these services may also enable the sending of timed messages to our customer, such as emails containing invoices or notifications concerning the payment.

### Cookies
## Cookies

A cookie is a small amount of data, which often includes an anonymous unique identifier, which is sent to your browser from a web site's computers and stored on your computer's hard drive.

You can control how websites use cookies by configuring the privacy settings within your browser. Note that if you disable cookies entirely, Astro websites and applications may not function properly.

### Data Storage
## Data Storage

Astro uses third-party vendors and hosting partners to provide the necessary hardware, software, networking, storage, and related technology required to run Astro. Astro’s third-party vendors and hosting partners adhere to the European Commission-approved Standard Contractual Clauses (also referred to as Model Contracts).

### Data Retention and Deletion
## Data Retention and Deletion

Data is kept for the time necessary to provide the products or services requested by the customer. We keep some of your personal data for as long as you are a user of the Astro Service. When you delete your account, we will delete your personal data and it will expire from backups; unless we are legally allowed or required to maintain certain personal data, including situations under the applicable laws to reveal personal data upon reasonable request of public authorities.

### Rights of Data Subjects
## Rights of Data Subjects

Data subject (customer) can always request Astro to allow access and correction, supplement or update of data. Subject to a reasonable request of a data subject, Astro will remove data pertaining to a data subject unless applicable laws impose a duty to retain data for certain time or identification, location and deletion of data imposes a disproportionate financial burden upon Astro. Any requests for access, correction or deletion of data should be directed to Astro by sending an email to [[email protected]](mailto:[email protected]).

Expand All @@ -47,26 +47,26 @@ You may be aware that a European Union law, called the General Data Protection R

As a user you may also request a copy of your data and that your data be updated, deleted, restricted or moved to another organization.

### We may share your information with
## We may share your information with

We want to process as little personal information as possible when you use our website. That's why we've chosen Fathom Analytics for our website analytics, which doesn't use cookies and complies with the GDPR, ePrivacy (including PECR), COPPA and CCPA. Using this privacy-friendly website analytics software, your IP address is only briefly processed, and we (running this website) have no way of identifying you. As per the CCPA, your personal information is de-identified. You can read more about this on Fathom Analytics' website.

The purpose of us using this software is to understand our website traffic in the most privacy-friendly way possible so that we can continually improve our website and business. The lawful basis as per the GDPR is "Article 6(1)(f); where our legitimate interests are to improve our website and business continually." As per the explanation, no personal data is stored over time.

When you choose to submit feedback on the docs site, we store your message using the [Feedback Fish](https://feedback.fish/) service. This enables us to gather helpful feedback and improve our documentation.

### Security
## Security

We understand that the security of your data is important. We provide reasonable administrative, technical, and physical security controls to protect your personal information from unauthorized access, disclosure, modification, or unauthorized destruction. However, despite our efforts, no security controls are 100% effective and Astro cannot ensure or warrant the security of your data.

### Links
## Links

We may display content that links to third-party websites. We cannot control or be held responsible for third parties’ privacy practices and content. If you click on a third-party advertisement or link, please understand that you are leaving the Astro website and any personal data you provide will not be covered by this Policy. Please read their privacy policies to find out how they collect and process your personal data.

### Changes
## Changes

Astro may periodically update this policy. We encourage you to periodically review our website for the latest information on our privacy practices.

### Questions
## Questions

Thank you for reading our Privacy Policy. If you have any questions about this Policy, please contact our Data Protection Officer by emailing [[email protected]](mailto:[email protected]).
Loading