<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cezary Tomczyk</title>
    <description>The latest articles on DEV Community by Cezary Tomczyk (@cezarytomczyk).</description>
    <link>https://dev.to/cezarytomczyk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1032276%2F43df699e-5072-4ce0-be2f-4777faa48a46.jpg</url>
      <title>DEV Community: Cezary Tomczyk</title>
      <link>https://dev.to/cezarytomczyk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cezarytomczyk"/>
    <language>en</language>
    <item>
      <title>European Accessibility Act</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Fri, 14 Feb 2025 14:38:45 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/european-accessibility-act-335i</link>
      <guid>https://dev.to/cezarytomczyk/european-accessibility-act-335i</guid>
      <description>&lt;p&gt;The European Accessibility Act (EAA) is a legislation that aims to improve the accessibility of products and services in the European Union. Here are some key points:&lt;/p&gt;

&lt;p&gt;*The EAA requires that certain products and services, such as websites, mobile applications, and electronic documents, comply with the Web Content Accessibility Guidelines (WCAG) 2.1.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Act applies to EU member states and will be implemented in 2025.&lt;/li&gt;
&lt;li&gt;The EAA covers a wide range of products and services, including:

&lt;ul&gt;
&lt;li&gt;Websites and mobile applications&lt;/li&gt;
&lt;li&gt;Electronic documents, such as PDFs and e-books&lt;/li&gt;
&lt;li&gt;Self-service terminals, such as ATMs and ticket machines&lt;/li&gt;
&lt;li&gt;Computers and operating systems&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;The Act requires that these products and services be accessible to people with disabilities, including those with visual, auditory, motor, or cognitive disabilities.&lt;/li&gt;

&lt;li&gt;The EAA also requires that accessibility information be provided to users, such as accessibility statements and contact information for accessibility support.&lt;/li&gt;

&lt;li&gt;The Act will be enforced through a combination of national laws and EU regulations, and non-compliance can result in fines and other penalties.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;In terms of WCAG compliance, the EAA requires that products and services meet the following success criteria:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perceivable: Information and user interface components must be presentable to users in ways they can perceive.&lt;/li&gt;
&lt;li&gt;Operable: User interface components and navigation must be operable.&lt;/li&gt;
&lt;li&gt;Understandable: Information and the operation of the user interface must be understandable.&lt;/li&gt;
&lt;li&gt;Robust: Content must be robust enough to be interpreted reliably by a wide variety of user agents, including assistive technologies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, the European Accessibility Act is an important step towards improving accessibility in the EU, and organizations should start preparing now to ensure compliance with the Act's requirements.&lt;/p&gt;

&lt;p&gt;Read in details in the article "&lt;a href="https://www.sitelint.com/blog/european-accessibility-act-in-questions-and-answers" rel="noopener noreferrer"&gt;European Accessibility Act in questions and answers&lt;/a&gt;".&lt;/p&gt;

</description>
      <category>a11y</category>
    </item>
    <item>
      <title>Typographic improvements tip (CSS)</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Sun, 07 Jan 2024 19:13:57 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/typographic-improvements-tip-css-54l4</link>
      <guid>https://dev.to/cezarytomczyk/typographic-improvements-tip-css-54l4</guid>
      <description>&lt;p&gt;Use CSS property &lt;code&gt;text-wrap: balance;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text is wrapped in such a way that the quantity of characters on each line is optimally balanced, improving layout quality and legibility. Because counting characters and balancing them across multiple lines is computationally expensive, this value is only supported for blocks of text spanning a limited number of lines (six for Chromium and ten for Firefox).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap"&gt;https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Are there any challenges or drawbacks to implementing Agile Accessibility in a project?</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Sun, 31 Dec 2023 11:54:26 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/are-there-any-challenges-or-drawbacks-to-implementing-agile-accessibility-in-a-project-4232</link>
      <guid>https://dev.to/cezarytomczyk/are-there-any-challenges-or-drawbacks-to-implementing-agile-accessibility-in-a-project-4232</guid>
      <description>&lt;p&gt;Implementing &lt;a href="https://www.sitelint.com/blog/the-key-to-agile-accessibility-effective-measurement-of-what-matters/"&gt;Agile Accessibility&lt;/a&gt; in a project does come with certain challenges and potential drawbacks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Lack of Clear Processes&lt;/strong&gt;: Agile methodologies often encourage teams to operate with a lot of autonomy and flexibility. However, this can sometimes lead to teams getting sidetracked, particularly if there aren't enough processes in place to guide them. Without a clear vision or sufficient documentation, teams may struggle to stay focused on the project's goals, leading to scope creep and potential delays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Difficulty Maintaining Collaboration&lt;/strong&gt;: Agile methodologies emphasize continuous collaboration among team members. However, this can be challenging to maintain, especially in larger teams or across geographically dispersed teams. It requires additional time, commitment, and coordination to ensure that everyone is aligned and working towards the same objectives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Challenges in Measuring Progress&lt;/strong&gt;: With Agile methodologies, there isn't a fixed end date or final product specification, which makes it hard to measure progress. This can make it difficult for stakeholders to understand what's being achieved and whether the project is on track.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mitigate these challenges, it's important to establish clear processes and guidelines, foster strong collaboration, and set up systems for regularly assessing and communicating progress. Tools like project management software and visual representation of workflows can be useful in facilitating these efforts.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>agile</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Two WordPress plugins to improve the server performance object caching</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Tue, 19 Dec 2023 12:16:07 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/two-wordpress-plugins-to-improve-the-server-performance-object-caching-30lm</link>
      <guid>https://dev.to/cezarytomczyk/two-wordpress-plugins-to-improve-the-server-performance-object-caching-30lm</guid>
      <description>&lt;h2&gt;
  
  
  Object Cache 4 everyone
&lt;/h2&gt;

&lt;p&gt;Improve your server performance using Memcached for object caching or improve your server performance using disk support for object caching.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wordpress.org/plugins/object-cache-4-everyone/"&gt;https://wordpress.org/plugins/object-cache-4-everyone/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Query Monitor
&lt;/h2&gt;

&lt;p&gt;Query Monitor is the developer tools panel for WordPress. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more.&lt;/p&gt;

&lt;p&gt;It includes some advanced features such as debugging of Ajax calls, REST API calls, user capability checks, and full support for block themes and full site editing. It includes the ability to narrow down much of its output by plugin or theme, allowing you to quickly determine poorly performing plugins, themes, or functions.&lt;/p&gt;

&lt;p&gt;Query Monitor focuses heavily on presenting its information in a useful manner, for example by showing aggregate database queries grouped by the plugins, themes, or functions that are responsible for them. It adds an admin toolbar menu showing an overview of the current page, with complete debugging information shown in panels once you select a menu item.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VyegUd-q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/drex55ncdffh4npob1c4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VyegUd-q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/drex55ncdffh4npob1c4.png" alt="WordPress Object Cache plugin results: 97.3% hit rate (2,253,918 hits, 63,292 misses)" width="490" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to check what supported mime-type is by media audio or video in your browser</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Wed, 13 Dec 2023 17:22:51 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/how-to-check-what-supported-mime-type-is-by-media-audio-or-video-in-your-browser-1kn8</link>
      <guid>https://dev.to/cezarytomczyk/how-to-check-what-supported-mime-type-is-by-media-audio-or-video-in-your-browser-1kn8</guid>
      <description>&lt;p&gt;Supported mime-type by media audio or video is super defragmented. To find out what your browser supports use following link (I've created that page):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.sitelint.com/lab/audio-video-supported-media-type/"&gt;https://www.sitelint.com/lab/audio-video-supported-media-type/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Top 10 bad practices in frontend development</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Sun, 12 Nov 2023 21:04:49 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/top-10-bad-practices-in-frontend-development-48a7</link>
      <guid>https://dev.to/cezarytomczyk/top-10-bad-practices-in-frontend-development-48a7</guid>
      <description>&lt;p&gt;Here are the top 10 bad practices in frontend development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Not using version control&lt;/strong&gt;: Version control is essential for managing code changes and collaborating with other developers. Not using version control can lead to code conflicts and make it difficult to track changes over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not optimizing images&lt;/strong&gt;: Large images can slow down page load times, which can negatively impact the user experience. It's important to optimize images by compressing them and reducing their file size. A good practice is to serve responsive images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not testing on multiple devices and browsers&lt;/strong&gt;: Websites should be tested on multiple devices and browsers to ensure that they work correctly for all users. Not testing on multiple devices and browsers can lead to compatibility issues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not following accessibility guidelines&lt;/strong&gt;: Websites should be designed with accessibility in mind to ensure that they are usable by people with disabilities. Not following accessibility guidelines can lead to legal issues and prevent some users from accessing your content. Best is to &lt;a href="https://www.sitelint.com/"&gt;audit website on the client side&lt;/a&gt; to get results based on a real user.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not using semantic HTML&lt;/strong&gt;: Semantic HTML helps search engines understand the content of your website and improves accessibility for users with screen readers. Not using semantic HTML can make it difficult for search engines to understand your site, as the code itself may not precisely describe the purpose of the content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not optimizing CSS and JavaScript&lt;/strong&gt;: Large CSS and JavaScript files can slow down page load times, which can negatively impact user experience. It's important to optimize CSS and JavaScript by minifying them and reducing their file size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not using a CSS preprocessor&lt;/strong&gt;: CSS preprocessors like Sass and Less can help you write more efficient and maintainable CSS code. Not using a CSS preprocessor can make it difficult to manage large CSS files and make the code less scalable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not using a task runner or build tool&lt;/strong&gt;: Task runners like Gulp, Rollup or Webpack can automate repetitive tasks like minifying CSS, JavaScript files and many other tasks that can be automated to keep software development process consistent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not following coding standards&lt;/strong&gt;: Following coding standards makes it easier for other developers to read and understand your code. Not following coding standards leads to inconsistency in software development pipeline and can make it difficult for other developers to work with your code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redundant comments&lt;/strong&gt;: Comments that explain situations that can't be explained by the code itself are useful. However, commenting on each line of the code or requesting actions in the comments may misguide code readers, as the comments may easily be outdated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thoughts on that are very welcome.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding page experience in Google Search results</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Fri, 10 Nov 2023 22:01:44 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/understanding-page-experience-in-google-search-results-20f</link>
      <guid>https://dev.to/cezarytomczyk/understanding-page-experience-in-google-search-results-20f</guid>
      <description>&lt;p&gt;Google's core ranking systems look to reward content that provides a good page experience. Site owners who want to succeed with Google systems should not concentrate on only one or two aspects of the page experience. Instead, consider whether you're giving a consistently excellent website experience in all areas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-assess your content's page experience
&lt;/h2&gt;

&lt;p&gt;Answering yes to the questions below means you're highly likely on track in providing a good page experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do pages have good Core Web Vitals?&lt;/li&gt;
&lt;li&gt;Are pages served in a secure fashion?&lt;/li&gt;
&lt;li&gt;Does content display well for mobile devices when viewed on them?&lt;/li&gt;
&lt;li&gt;Does the content lack an excessive amount of ads that distract from or interfere with the main content?&lt;/li&gt;
&lt;li&gt;Do pages lack intrusive interstitials?&lt;/li&gt;
&lt;li&gt;How easily can visitors navigate to or locate the main content of your pages?&lt;/li&gt;
&lt;li&gt;Is the page designed so visitors can easily distinguish the main content from other content on your page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please keep in mind that these questions do not cover all aspects of the page experience to consider. However, questions like these, and consulting &lt;a href="https://developers.google.com/search/docs/appearance/page-experience/?hl=en#resources"&gt;Page experience resources&lt;/a&gt;, may help you align with providing an overall good page experience.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://developers.google.com/search/docs/appearance/page-experience?hl=en"&gt;Google Search Central&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Safari on MacOS has extra features for developers to control device settings</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Fri, 10 Nov 2023 09:37:06 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/safari-on-macos-has-extra-features-for-developers-to-control-device-settings-2k2f</link>
      <guid>https://dev.to/cezarytomczyk/safari-on-macos-has-extra-features-for-developers-to-control-device-settings-2k2f</guid>
      <description>&lt;p&gt;Safari version 17.0 (19616.1.27.211.1) on MacOS has quite a few small features to control &lt;a href="https://webkit.org/web-inspector/device-settings/"&gt;device settings&lt;/a&gt; that make app debugging easier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SyHFE2Ra--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wta3gxz2pki5zntgo9o7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SyHFE2Ra--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wta3gxz2pki5zntgo9o7.jpg" alt="Safari device settings in developer tools" width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recommend trying it out.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Tailwind overcomplicated approach</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Thu, 09 Nov 2023 07:11:47 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/tailwind-overcomplicated-approach-202d</link>
      <guid>https://dev.to/cezarytomczyk/tailwind-overcomplicated-approach-202d</guid>
      <description>&lt;p&gt;Here are the example of CSS classes on elements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;hidden pro-content-overlay w-full h-full absolute top-0 left-0 z-[9999] bg-[#00000080]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;upgrade-button text-white hover:text-white focus:text-white focus:ring-0 px-4 py-2.5 inline-flex items-center rounded-md bg-[#ff9000] hover:bg-[#cf7500] font-semibold text-sm gap-2.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;settings-tab w-full focus:outline-0 !text-black aria-selected:text-gray-600 aria-selected:bg-gray-100 hover:text-gray-600 hover:bg-gray-100 group rounded-md px-5 py-3 flex items-center text-sm font-medium cursor-pointer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pro-badge cursor-pointer relative text-white text-[10px] py-[3px] px-[5px] leading-none ml-1.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;settings-tab w-full focus:outline-0 !text-black aria-selected:text-gray-600 aria-selected:bg-gray-100 hover:text-gray-600 hover:bg-gray-100 group rounded-md px-5 py-3 flex items-center text-sm font-medium cursor-pointer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;border-gray-300 relative w-32 h-[135px] flex items-center justify-center cursor-pointer rounded-lg border bg-white shadow-sm focus:outline-none&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And so on...&lt;/p&gt;

&lt;p&gt;Ask yourself few questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Those classes describe the footer? Header? Or maybe a button? No. &lt;strong&gt;You can't determine it without looking at the rendered UI or potentially the HTML&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;How does that make code easier to understand?&lt;/li&gt;
&lt;li&gt;Passing arguments inside the CSS class name and propagating it across hundreds of different places won't make the code easier to maintain. Instead of making a change in one place, now you need to make it in a hundred other places.&lt;/li&gt;
&lt;li&gt;Such an approach with adding a dozen classes makes the HTML just unnecessarily bigger in size. &lt;strong&gt;This impacts the HTML size and, hence, forces users to download and render more HTML&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Whoever decides to use Tailwind will add more unnecessary work in software development with practically no benefits.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Top 10 Digital Accessibility Challenges</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Thu, 26 Oct 2023 17:32:57 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/top-10-digital-accessibility-challenges-4bab</link>
      <guid>https://dev.to/cezarytomczyk/top-10-digital-accessibility-challenges-4bab</guid>
      <description>&lt;p&gt;The following are the 10 most common digital accessibility problems that need to be addressed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Inappropriate Alternative Text on Images&lt;/strong&gt;: Alt text for images is one of the common accessibility issues in web design. According to WebAIM, 31.3 percent of home page banners were missing alternative texts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Forms&lt;/strong&gt;: Forms that are not properly labeled or structured can be difficult for users with disabilities to navigate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible PDFs and Documents&lt;/strong&gt;: PDFs and other documents that are not properly tagged or structured can be difficult for users with disabilities to read.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Videos&lt;/strong&gt;: Videos that do not have captions or transcripts can be difficult for users with hearing impairments to understand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Audio&lt;/strong&gt;: Audio content that does not have transcripts or captions can be difficult for users with hearing impairments to understand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Links and Buttons&lt;/strong&gt;: Links and buttons that are not properly labeled or structured can be difficult for users with disabilities to navigate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Tables&lt;/strong&gt;: Tables that are not properly structured can be difficult for users with disabilities to navigate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Color Contrast&lt;/strong&gt;: Poor color contrast can make it difficult for users with visual impairments to read text on a web page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Keyboard Navigation&lt;/strong&gt;: Websites that cannot be navigated using a keyboard can be difficult for users with mobility impairments to use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inaccessible Pop-ups and Alerts&lt;/strong&gt;: Pop-ups and alerts that cannot be closed using a keyboard can be difficult for users with mobility impairments to use.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Use &lt;a href="https://www.sitelint.com/services/digital-accessibility-audit/"&gt;digital accessibility audits&lt;/a&gt; to perform automated and manual evaluations using various assistive technologies. A complete audit is a combination of manual and automated tests.&lt;/p&gt;

&lt;p&gt;Note that &lt;strong&gt;some issues require manual testing&lt;/strong&gt;, e.g., verifying if captions or transcripts make sense.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Create custom CSS property using @property CSS at-rule</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Thu, 26 Oct 2023 16:22:27 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/create-custom-css-property-using-property-css-at-rule-9ij</link>
      <guid>https://dev.to/cezarytomczyk/create-custom-css-property-using-property-css-at-rule-9ij</guid>
      <description>&lt;p&gt;This is interesting. Ever wanted to create a custom CSS property? It seems now that it is possible.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The @property CSS at-rule is part of the CSS Houdini umbrella of APIs. It allows developers to explicitly define their CSS custom properties, allowing for property type checking and constraining, setting default values, and defining whether a custom property can inherit values or not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The @property rule represents a custom property registration directly in a stylesheet without having to run any JS. Valid @property rules result in a registered custom property, as if registerProperty() had been called with equivalent parameters.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@property"&gt;MDN&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@property&lt;/span&gt; &lt;span class="n"&gt;--property-name&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;syntax&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"&amp;lt;color&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;inherits&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;initial-value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#c0ffee&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Read more about &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@property"&gt;@property on MDN&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Optimising loading custom fonts to reduce layout shifts</title>
      <dc:creator>Cezary Tomczyk</dc:creator>
      <pubDate>Wed, 25 Oct 2023 16:16:39 +0000</pubDate>
      <link>https://dev.to/cezarytomczyk/optimising-loading-custom-fonts-to-reduce-layout-shifts-4ik2</link>
      <guid>https://dev.to/cezarytomczyk/optimising-loading-custom-fonts-to-reduce-layout-shifts-4ik2</guid>
      <description>&lt;p&gt;One of the most common causes of layout shifts is late-loading web fonts. To avoid layout shifts caused by web fonts, you can use the following techniques:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Preload critical fonts&lt;/strong&gt;: Preloading critical fonts can help ensure that they are loaded before they are needed, thus avoiding layout shifts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subset fonts and serve as woff2&lt;/strong&gt;: Subsetting fonts and serving them as &lt;code&gt;woff2&lt;/code&gt; can help reduce the size of the font files, which can speed up their loading time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use variable fonts or a limited set of weight variations&lt;/strong&gt;: Using variable fonts or a limited set of weight variations can help reduce the number of font files that need to be loaded, which can speed up their loading time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Host your own fonts on your main domain or subdomain&lt;/strong&gt;: Hosting your own fonts on your main domain or subdomain can help ensure that they are loaded quickly and reliably.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To further optimise web font loading, you can also use the &lt;code&gt;font-display&lt;/code&gt; property to control how web fonts are displayed while they are being loaded. For example, you can use &lt;code&gt;font-display: swap&lt;/code&gt; to display fallback text while the web font is being loaded, and then swap in the web font when it is available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.sitelint.com/blog/fixing-layout-shifting-brought-on-by-custom-fonts/"&gt;Fixing layout shifting brought on by custom fonts&lt;/a&gt; can also be done using &lt;code&gt;font-display: optional&lt;/code&gt;. This will avoid swapping and render fonts immediately when they are already available.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
