<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"><!-- Core Pages -->
  <url>
    <loc>https://www.cleanmarkup.com/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/about/</loc>
    <lastmod>2026-10-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/authors/ahmdrmdn.webp</image:loc>
      <image:title>Ahmed Ramadan — Senior Software Engineer</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/2/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/3/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/4/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/5/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/6/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/7/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/8/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/9/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/10/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/11/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/12/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/13/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/14/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Topic Tag Pages -->
  <url>
    <loc>https://www.cleanmarkup.com/tags/algorithm/</loc>
    <lastmod>2025-06-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/highlight/</loc>
    <lastmod>2025-06-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/hashtable/</loc>
    <lastmod>2021-10-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/complixity/</loc>
    <lastmod>2022-05-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/javascript/</loc>
    <lastmod>2025-06-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/html/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/accessibility/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/css/</loc>
    <lastmod>2025-07-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/layout/</loc>
    <lastmod>2025-06-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/tags/performance/</loc>
    <lastmod>2025-07-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Articles (Newest First) -->
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-tree-view-navigation-aria/</loc>
    <lastmod>2025-07-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-tree-view-navigation-aria.webp</image:loc>
      <image:title>Building Accessible Hierarchical Tree Views with WAI-ARIA Tree Roles</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-houdini-at-property-typed-variables/</loc>
    <lastmod>2025-07-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-houdini-at-property-typed-variables.webp</image:loc>
      <image:title>Smooth Color and Gradient Transitions with CSS at-property</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/a-star-pathfinding-algorithm-javascript/</loc>
    <lastmod>2025-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/a-star-pathfinding-algorithm-javascript.webp</image:loc>
      <image:title>Optimal Grid Navigation with the A-Star Pathfinding Algorithm in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-container-style-queries-theming/</loc>
    <lastmod>2025-06-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-container-style-queries-theming.webp</image:loc>
      <image:title>Contextual Component Theming with CSS Container Style Queries</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-toast-notifications-aria-live/</loc>
    <lastmod>2025-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-toast-notifications-aria-live.webp</image:loc>
      <image:title>Accessible Toast Notifications with Polite Live Regions and Focus Restoration</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-immutable-array-methods-tosorted/</loc>
    <lastmod>2025-05-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-immutable-array-methods-tosorted.webp</image:loc>
      <image:title>Immutable Array Transformations with toSorted toReversed and toSpliced</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-field-sizing-content-auto-expanding-inputs/</loc>
    <lastmod>2025-04-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-field-sizing-content-auto-expanding-inputs.webp</image:loc>
      <image:title>Auto-Expanding Form Fields without Scripts using CSS field-sizing</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/floyd-warshall-all-pairs-shortest-path-javascript/</loc>
    <lastmod>2025-04-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/floyd-warshall-all-pairs-shortest-path-javascript.webp</image:loc>
      <image:title>Computing All-Pairs Shortest Paths with the Floyd-Warshall Algorithm</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-font-palette-color-fonts/</loc>
    <lastmod>2025-03-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-font-palette-color-fonts.webp</image:loc>
      <image:title>Customizing Multi-Colored Vector Fonts with CSS font-palette</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-temporal-api-safe-dates/</loc>
    <lastmod>2025-03-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-temporal-api-safe-dates.webp</image:loc>
      <image:title>Accurate Date and Time Calculations with the JavaScript Temporal API</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-tabs-component-keyboard-aria/</loc>
    <lastmod>2025-02-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-tabs-component-keyboard-aria.webp</image:loc>
      <image:title>Keyboard Navigation Standards for WAI-ARIA Tabs Components</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-oklch-wide-gamut-color-palettes/</loc>
    <lastmod>2025-02-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-oklch-wide-gamut-color-palettes.webp</image:loc>
      <image:title>Perceptually Uniform Color Palettes with CSS oklch</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html5-dialog-element-modal-workflows/</loc>
    <lastmod>2025-01-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html5-dialog-element-modal-workflows.webp</image:loc>
      <image:title>Native Modal Dialogs and Focus Trapping with HTML5 dialog</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/huffman-coding-compression-algorithm-javascript/</loc>
    <lastmod>2025-01-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/huffman-coding-compression-algorithm-javascript.webp</image:loc>
      <image:title>Lossless Text Compression with Huffman Coding in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-container-query-units-fluid-components/</loc>
    <lastmod>2024-12-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-container-query-units-fluid-components.webp</image:loc>
      <image:title>Fluid Component Spacing with CSS Container Query Units</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-iterator-helpers-stream-processing/</loc>
    <lastmod>2024-12-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-iterator-helpers-stream-processing.webp</image:loc>
      <image:title>Lazy Sequence Transformation with Modern JavaScript Iterator Helpers</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-form-errors-aria-describedby/</loc>
    <lastmod>2024-11-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-form-errors-aria-describedby.webp</image:loc>
      <image:title>Accessible Form Error Handling with Live Regions and aria-describedby</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-interpolate-size-height-auto-transitions/</loc>
    <lastmod>2024-11-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-interpolate-size-height-auto-transitions.webp</image:loc>
      <image:title>Smooth Transitions to Height Auto with CSS interpolate-size</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/tarjans-strongly-connected-components-javascript/</loc>
    <lastmod>2024-10-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/tarjans-strongly-connected-components-javascript.webp</image:loc>
      <image:title>Identifying Cycles in Directed Graphs with Tarjans Algorithm</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-anchor-positioning-native-menus/</loc>
    <lastmod>2024-10-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-anchor-positioning-native-menus.webp</image:loc>
      <image:title>Decoupled Tooltip and Dropdown Placement with CSS Anchor Positioning</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-roving-tabindex-toolbar-navigation/</loc>
    <lastmod>2024-09-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-roving-tabindex-toolbar-navigation.webp</image:loc>
      <image:title>Accessible Toolbar and Menu Navigation with Roving Tabindex</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-promise-withresolvers-pattern/</loc>
    <lastmod>2024-09-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-promise-withresolvers-pattern.webp</image:loc>
      <image:title>Simplifying Asynchronous Flows with Promise withResolvers</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/segment-tree-range-queries-javascript/</loc>
    <lastmod>2024-08-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/segment-tree-range-queries-javascript.webp</image:loc>
      <image:title>Fast Range Queries and Point Updates with Segment Trees in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-subgrid-nested-card-alignment/</loc>
    <lastmod>2024-08-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-subgrid-nested-card-alignment.webp</image:loc>
      <image:title>Harmonizing Multi-Column Card Layouts with CSS Subgrid</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html-cross-document-view-transitions/</loc>
    <lastmod>2024-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html-cross-document-view-transitions.webp</image:loc>
      <image:title>Seamless Page Navigation with Cross-Document View Transitions</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-user-valid-user-invalid-form-styling/</loc>
    <lastmod>2024-07-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-user-valid-user-invalid-form-styling.webp</image:loc>
      <image:title>Polite Form Validation UX with CSS user-valid and user-invalid</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-binary-heap-priority-queue/</loc>
    <lastmod>2024-06-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-binary-heap-priority-queue.webp</image:loc>
      <image:title>Efficient Event and Task Scheduling with a Min-Binary Heap in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-scroll-driven-animations-view-timeline/</loc>
    <lastmod>2024-06-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-scroll-driven-animations-view-timeline.webp</image:loc>
      <image:title>Declarative Scroll Effects with CSS Scroll-Driven Animations</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html5-details-accordion-name-attribute/</loc>
    <lastmod>2024-05-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html5-details-accordion-name-attribute.webp</image:loc>
      <image:title>Exclusive Accordions without Scripts using HTML details and name</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-set-methods-union-intersection/</loc>
    <lastmod>2024-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-set-methods-union-intersection.webp</image:loc>
      <image:title>Mathematical Set Operations with Native JavaScript Set Methods</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-text-wrap-pretty-editorial-typography/</loc>
    <lastmod>2024-04-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-text-wrap-pretty-editorial-typography.webp</image:loc>
      <image:title>Polishing Editorial Paragraphs with CSS text-wrap Pretty</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/monotonic-stack-next-greater-element-javascript/</loc>
    <lastmod>2024-04-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/monotonic-stack-next-greater-element-javascript.webp</image:loc>
      <image:title>Solving Range and Boundary Problems with Monotonic Stacks in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-starting-style-discrete-transitions/</loc>
    <lastmod>2024-03-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-starting-style-discrete-transitions.webp</image:loc>
      <image:title>Animating Entry and Exit States with CSS starting-style</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-object-groupby-and-map-groupby/</loc>
    <lastmod>2024-03-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-object-groupby-and-map-groupby.webp</image:loc>
      <image:title>Native Collection Categorization with Object groupBy and Map groupBy</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-combobox-pattern-aria-autocomplete/</loc>
    <lastmod>2024-02-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-combobox-pattern-aria-autocomplete.webp</image:loc>
      <image:title>Accessible Search and Autocomplete with the WAI-ARIA Combobox Pattern</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-light-dark-color-function-theming/</loc>
    <lastmod>2024-02-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-light-dark-color-function-theming.webp</image:loc>
      <image:title>Seamless Color Scheme Adaptations with the CSS light-dark Function</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/kadanes-algorithm-maximum-subarray-javascript/</loc>
    <lastmod>2024-01-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/kadanes-algorithm-maximum-subarray-javascript.webp</image:loc>
      <image:title>Finding the Maximum Subarray Sum in Linear Time with Kadanes Algorithm</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/native-css-nesting-standardized-syntax/</loc>
    <lastmod>2024-01-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/native-css-nesting-standardized-syntax.webp</image:loc>
      <image:title>Streamlining Stylesheets with Modern Native CSS Nesting</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html-popover-api-declarative-overlays/</loc>
    <lastmod>2023-12-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html-popover-api-declarative-overlays.webp</image:loc>
      <image:title>Declarative Popups and Flyouts with the HTML Popover API</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-text-wrap-balance-headlines/</loc>
    <lastmod>2023-12-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-text-wrap-balance-headlines.webp</image:loc>
      <image:title>Preventing Typographic Widows with CSS text-wrap Balance</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-scope-rule-and-donut-scoping/</loc>
    <lastmod>2023-11-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-scope-rule-and-donut-scoping.webp</image:loc>
      <image:title>Targeted Component Styling with the CSS scope At-Rule</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html5-search-element-for-landmark-navigation/</loc>
    <lastmod>2023-09-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html5-search-element-for-landmark-navigation.webp</image:loc>
      <image:title>Semantic Form Landmarks with the HTML5 search Element</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-trigonometric-functions-sin-cos-tan/</loc>
    <lastmod>2023-01-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-trigonometric-functions-sin-cos-tan.webp</image:loc>
      <image:title>Circular Layouts and Smooth Curves with CSS sin and cos Functions</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/quickselect-algorithm-kth-smallest-element-javascript/</loc>
    <lastmod>2022-11-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/quickselect-algorithm-kth-smallest-element-javascript.webp</image:loc>
      <image:title>Finding the Kth Smallest Element in Linear Time with Quickselect in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/disjoint-set-union-find-algorithm-javascript/</loc>
    <lastmod>2022-08-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/disjoint-set-union-find-algorithm-javascript.webp</image:loc>
      <image:title>Implementing Disjoint Set Union with Path Compression in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/dynamic-programming-knapsack-problem-javascript/</loc>
    <lastmod>2022-05-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/dynamic-programming-knapsack-problem-javascript.webp</image:loc>
      <image:title>Understanding Tabulation and Dynamic Programming with the Knapsack Problem in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-scrollbar-gutter-preventing-layout-shifts/</loc>
    <lastmod>2022-05-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-scrollbar-gutter-preventing-layout-shifts.webp</image:loc>
      <image:title>Eliminating Scrollbar Layout Shifts with CSS scrollbar-gutter</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/array-at-and-object-hasown-ergonomic-javascript/</loc>
    <lastmod>2022-04-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/array-at-and-object-hasown-ergonomic-javascript.webp</image:loc>
      <image:title>Cleaner Collection Access in JavaScript with Array at and Object hasOwn</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-color-mix-and-modern-color-spaces/</loc>
    <lastmod>2022-04-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-color-mix-and-modern-color-spaces.webp</image:loc>
      <image:title>Dynamic Palette Generation in CSS with color-mix and Perceptual Color Spaces</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html-inert-attribute-focus-trapping/</loc>
    <lastmod>2022-03-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html-inert-attribute-focus-trapping.webp</image:loc>
      <image:title>Declarative Focus Trapping and Background Locking with the HTML inert Attribute</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/trie-prefix-tree-autocomplete-javascript/</loc>
    <lastmod>2022-03-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/trie-prefix-tree-autocomplete-javascript.webp</image:loc>
      <image:title>Building Fast Autocomplete Search with a Prefix Trie in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-has-relational-parent-selector/</loc>
    <lastmod>2022-02-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-has-relational-parent-selector.webp</image:loc>
      <image:title>Conditional Parent Styling with the CSS has Relational Pseudo-Class</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-form-validation-and-aria-invalid/</loc>
    <lastmod>2022-02-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-form-validation-and-aria-invalid.webp</image:loc>
      <image:title>Accessible Inline Form Error Messaging with aria-invalid and aria-errormessage</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/structuredclone-native-deep-copying-javascript/</loc>
    <lastmod>2022-01-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/structuredclone-native-deep-copying-javascript.webp</image:loc>
      <image:title>Native Deep Copying in JavaScript with structuredClone</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-cascade-layers-with-at-layer/</loc>
    <lastmod>2022-01-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-cascade-layers-with-at-layer.webp</image:loc>
      <image:title>Taming Stylesheet Specificity with CSS Cascade Layers and at-layer</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/topological-sort-and-dependency-graphs-javascript/</loc>
    <lastmod>2021-12-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/topological-sort-and-dependency-graphs-javascript.webp</image:loc>
      <image:title>Resolving Task Dependencies with Topological Sort in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-text-decoration-thickness-and-underline-offset/</loc>
    <lastmod>2021-12-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-text-decoration-thickness-and-underline-offset.webp</image:loc>
      <image:title>Refining Editorial Link Typography with CSS text-underline-offset</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-error-cause-and-structured-error-handling/</loc>
    <lastmod>2021-11-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-error-cause-and-structured-error-handling.webp</image:loc>
      <image:title>Chaining Contextual Exceptions with JavaScript Error Cause</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-time-and-machine-readable-dates/</loc>
    <lastmod>2021-11-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-time-and-machine-readable-dates.webp</image:loc>
      <image:title>Publishing Machine-Readable Dates and Durations with the HTML time Element</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-container-queries-component-driven-layouts/</loc>
    <lastmod>2021-10-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-container-queries-component-driven-layouts.webp</image:loc>
      <image:title>Preparing Design Systems for CSS Container Queries</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/lru-cache-implementation-in-javascript/</loc>
    <lastmod>2021-10-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/lru-cache-implementation-in-javascript.webp</image:loc>
      <image:title>Designing an O(1) Least Recently Used Cache with JavaScript Map</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-tabs-interface-with-aria-roles/</loc>
    <lastmod>2021-09-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-tabs-interface-with-aria-roles.webp</image:loc>
      <image:title>Implementing the WAI-ARIA Tabs Pattern with Roving Tabindex</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-contain-property-layout-and-paint-isolation/</loc>
    <lastmod>2021-09-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-contain-property-layout-and-paint-isolation.webp</image:loc>
      <image:title>Isolating DOM Subtrees with the CSS contain Property</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/url-and-urlsearchparams-clean-query-parsing/</loc>
    <lastmod>2021-08-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/url-and-urlsearchparams-clean-query-parsing.webp</image:loc>
      <image:title>Parsing and Mutating Query Strings Cleanly with URL and URLSearchParams</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-accent-color-native-form-controls/</loc>
    <lastmod>2021-08-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-accent-color-native-form-controls.webp</image:loc>
      <image:title>Theming Native Checkboxes and Radio Inputs with CSS accent-color</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/dijkstras-shortest-path-algorithm-javascript/</loc>
    <lastmod>2021-07-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/dijkstras-shortest-path-algorithm-javascript.webp</image:loc>
      <image:title>Finding Shortest Paths in Weighted Graphs with Dijkstras Algorithm in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/preload-prefetch-and-preconnect-resource-hints/</loc>
    <lastmod>2021-07-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/preload-prefetch-and-preconnect-resource-hints.webp</image:loc>
      <image:title>Optimizing Critical Network Paths with HTML Resource Hints</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-tooltips-and-aria-describedby/</loc>
    <lastmod>2021-06-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-tooltips-and-aria-describedby.webp</image:loc>
      <image:title>Building Accessible Tooltips with aria-describedby and Keyboard Triggers</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-conic-gradient-charts-and-color-wheels/</loc>
    <lastmod>2021-06-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-conic-gradient-charts-and-color-wheels.webp</image:loc>
      <image:title>Pure CSS Pie Charts and Progress Rings with conic-gradient</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-intl-api-localized-formatting/</loc>
    <lastmod>2021-05-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-intl-api-localized-formatting.webp</image:loc>
      <image:title>Zero-Dependency Date and Number Formatting with the JavaScript Intl API</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/linked-list-data-structure-in-javascript/</loc>
    <lastmod>2021-05-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/linked-list-data-structure-in-javascript.webp</image:loc>
      <image:title>Building and Reversing Singly Linked Lists in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-grid-auto-fit-and-auto-fill-columns/</loc>
    <lastmod>2021-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-grid-auto-fit-and-auto-fill-columns.webp</image:loc>
      <image:title>Responsive Card Grids Without Media Queries Using auto-fit and auto-fill</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-description-lists-dl-dt-dd/</loc>
    <lastmod>2021-04-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-description-lists-dl-dt-dd.webp</image:loc>
      <image:title>Structuring Key-Value Metadata with HTML Description Lists</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/web-workers-offloading-heavy-computation/</loc>
    <lastmod>2021-03-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/web-workers-offloading-heavy-computation.webp</image:loc>
      <image:title>Keeping the Main Thread Responsive with JavaScript Web Workers</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-backdrop-filter-frosted-glass-ui/</loc>
    <lastmod>2021-03-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-backdrop-filter-frosted-glass-ui.webp</image:loc>
      <image:title>Crafting Translucent Surfaces with CSS backdrop-filter</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/sliding-window-algorithm-pattern-javascript/</loc>
    <lastmod>2021-02-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/sliding-window-algorithm-pattern-javascript.webp</image:loc>
      <image:title>Solving Subarray Problems with the Sliding Window Pattern in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-skip-links-and-keyboard-landmarks/</loc>
    <lastmod>2021-02-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-skip-links-and-keyboard-landmarks.webp</image:loc>
      <image:title>Designing Skip Navigation Links and Page Landmarks for Keyboard Users</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/weakmap-and-weakset-memory-safe-caching/</loc>
    <lastmod>2021-01-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/weakmap-and-weakset-memory-safe-caching.webp</image:loc>
      <image:title>Preventing DOM Memory Leaks with JavaScript WeakMap and WeakSet</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-custom-scrollbars-and-overscroll-behavior/</loc>
    <lastmod>2021-01-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-custom-scrollbars-and-overscroll-behavior.webp</image:loc>
      <image:title>Controlling Scroll Chaining with CSS overscroll-behavior</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html-template-element-client-side-cloning/</loc>
    <lastmod>2020-12-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html-template-element-client-side-cloning.webp</image:loc>
      <image:title>Reusable Markup Fragments with the Native HTML template Element</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/quicksort-algorithm-and-partitioning-javascript/</loc>
    <lastmod>2020-12-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/quicksort-algorithm-and-partitioning-javascript.webp</image:loc>
      <image:title>Implementing Quicksort and In-Place Partitioning in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-gap-property-for-flexbox-layouts/</loc>
    <lastmod>2020-11-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-gap-property-for-flexbox-layouts.webp</image:loc>
      <image:title>Using the CSS gap Property in Flexbox Without Margin Hacks</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-svg-icons-and-aria-labels/</loc>
    <lastmod>2020-11-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-svg-icons-and-aria-labels.webp</image:loc>
      <image:title>Writing Accessible Inline SVG Icons with Semantic ARIA Attributes</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/mutation-observer-tracking-dom-changes/</loc>
    <lastmod>2020-10-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/mutation-observer-tracking-dom-changes.webp</image:loc>
      <image:title>Tracking Dynamic DOM Mutations with MutationObserver in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/content-visibility-auto-rendering-performance/</loc>
    <lastmod>2020-10-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/content-visibility-auto-rendering-performance.webp</image:loc>
      <image:title>Boosting Rendering Performance with CSS content-visibility</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/breadth-first-search-and-depth-first-search-javascript/</loc>
    <lastmod>2020-09-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/breadth-first-search-and-depth-first-search-javascript.webp</image:loc>
      <image:title>Graph Traversal with Breadth-First and Depth-First Search in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-is-and-where-pseudo-class-selectors/</loc>
    <lastmod>2020-09-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-is-and-where-pseudo-class-selectors.webp</image:loc>
      <image:title>Simplifying Selector Specificity with CSS is and where</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-dialog-and-accessible-modals/</loc>
    <lastmod>2020-08-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-dialog-and-accessible-modals.webp</image:loc>
      <image:title>Accessible Modal Dialogs with the Native HTML Dialog Element</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-logical-properties-international-layouts/</loc>
    <lastmod>2020-08-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-logical-properties-international-layouts.webp</image:loc>
      <image:title>CSS Logical Properties for Multi-Directional Layouts</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/resize-observer-responsive-components/</loc>
    <lastmod>2020-07-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/resize-observer-responsive-components.webp</image:loc>
      <image:title>Responsive Component Design with ResizeObserver in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-aspect-ratio-box-sizing/</loc>
    <lastmod>2020-07-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-aspect-ratio-box-sizing.webp</image:loc>
      <image:title>Preventing Layout Shifts with Modern CSS Aspect Ratio Boxes</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/merge-sort-algorithm-in-javascript/</loc>
    <lastmod>2020-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/merge-sort-algorithm-in-javascript.webp</image:loc>
      <image:title>Divide and Conquer Sorting with Merge Sort in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/core-web-vitals-cls-lcp-fid-guide/</loc>
    <lastmod>2020-06-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/core-web-vitals-cls-lcp-fid-guide.webp</image:loc>
      <image:title>Optimizing HTML and CSS for Core Web Vitals LCP FID and CLS</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-figure-and-figcaption-elements/</loc>
    <lastmod>2020-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-figure-and-figcaption-elements.webp</image:loc>
      <image:title>Grouping Media and Code Snippets Semantically with Figure and Figcaption</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/fetch-abortcontroller-canceling-requests/</loc>
    <lastmod>2020-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/fetch-abortcontroller-canceling-requests.webp</image:loc>
      <image:title>Canceling Stale Network Requests in JavaScript with AbortController</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/focus-visible-keyboard-navigation-styles/</loc>
    <lastmod>2020-04-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/focus-visible-keyboard-navigation-styles.webp</image:loc>
      <image:title>Separating Mouse and Keyboard Focus Rings with focus-visible</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-position-sticky-headers-and-sidebars/</loc>
    <lastmod>2020-04-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-position-sticky-headers-and-sidebars.webp</image:loc>
      <image:title>Building Performant Sticky Headers and Table of Contents with CSS</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/binary-search-algorithm-in-javascript/</loc>
    <lastmod>2020-03-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/binary-search-algorithm-in-javascript.webp</image:loc>
      <image:title>Implementing Binary Search in JavaScript with Logarithmic Complexity</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/prefers-reduced-motion-accessible-animations/</loc>
    <lastmod>2020-03-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/prefers-reduced-motion-accessible-animations.webp</image:loc>
      <image:title>Designing Inclusive Web Animations with prefers-reduced-motion</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/native-lazy-loading-img-loading-attribute/</loc>
    <lastmod>2020-02-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/native-lazy-loading-img-loading-attribute.webp</image:loc>
      <image:title>Zero JavaScript Image Deferral with the Native HTML loading Attribute</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/promise-allsettled-concurrent-error-handling/</loc>
    <lastmod>2020-02-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/promise-allsettled-concurrent-error-handling.webp</image:loc>
      <image:title>Resilient Parallel Requests with Promise.allSettled in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-clamp-min-max-functions/</loc>
    <lastmod>2020-01-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-clamp-min-max-functions.webp</image:loc>
      <image:title>Responsive Sizing Without Media Queries Using CSS min max and clamp</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-breadcrumbs-and-aria-current/</loc>
    <lastmod>2020-01-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-breadcrumbs-and-aria-current.webp</image:loc>
      <image:title>Accessible Breadcrumb Navigation with Semantic HTML and aria-current</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/optional-chaining-and-nullish-coalescing-javascript/</loc>
    <lastmod>2019-12-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/optional-chaining-and-nullish-coalescing-javascript.webp</image:loc>
      <image:title>Safer Property Access with Optional Chaining and Nullish Coalescing</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-subgrid-and-nested-grids/</loc>
    <lastmod>2019-12-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-subgrid-and-nested-grids.webp</image:loc>
      <image:title>Mastering Nested Layouts and CSS Subgrid Fundamentals</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/aria-live-regions-dynamic-ui-updates/</loc>
    <lastmod>2019-11-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/aria-live-regions-dynamic-ui-updates.webp</image:loc>
      <image:title>Announcing Dynamic UI Changes with ARIA Live Regions</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/fluid-typography-with-css-calc-and-viewport-units/</loc>
    <lastmod>2019-11-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/fluid-typography-with-css-calc-and-viewport-units.webp</image:loc>
      <image:title>Fluid Responsive Typography with CSS Calc and Viewport Units</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/memoization-for-recursive-algorithms-javascript/</loc>
    <lastmod>2019-10-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/memoization-for-recursive-algorithms-javascript.webp</image:loc>
      <image:title>Optimizing Recursive Functions with Memoization in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-tables-for-accessible-data/</loc>
    <lastmod>2019-10-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-tables-for-accessible-data.webp</image:loc>
      <image:title>Structuring Accessible Data Tables with Caption Scope and Thead</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-feature-queries-with-supports/</loc>
    <lastmod>2019-09-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-feature-queries-with-supports.webp</image:loc>
      <image:title>Progressive Enhancement in CSS Using supports Feature Queries</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/deep-cloning-objects-in-javascript/</loc>
    <lastmod>2019-09-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/deep-cloning-objects-in-javascript.webp</image:loc>
      <image:title>Shallow vs Deep Cloning Objects in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/prefers-color-scheme-dark-mode-css/</loc>
    <lastmod>2019-08-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/prefers-color-scheme-dark-mode-css.webp</image:loc>
      <image:title>Supporting System Dark Mode with prefers-color-scheme</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/html5-details-and-summary-accordions/</loc>
    <lastmod>2019-08-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/html5-details-and-summary-accordions.webp</image:loc>
      <image:title>Zero JavaScript Accordions with HTML5 Details and Summary</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/javascript-promises-and-async-await/</loc>
    <lastmod>2019-07-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/javascript-promises-and-async-await.webp</image:loc>
      <image:title>Writing Clean Asynchronous Code with Async and Await</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-scroll-snap-carousels/</loc>
    <lastmod>2019-07-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-scroll-snap-carousels.webp</image:loc>
      <image:title>Building Smooth Carousels with Native CSS Scroll Snap</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/event-delegation-and-dom-performance/</loc>
    <lastmod>2019-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/event-delegation-and-dom-performance.webp</image:loc>
      <image:title>Event Delegation and DOM Event Bubbling in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/responsive-images-srcset-and-picture/</loc>
    <lastmod>2019-06-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/responsive-images-srcset-and-picture.webp</image:loc>
      <image:title>Responsive Images Done Right with Picture and Srcset</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/array-map-filter-reduce-javascript/</loc>
    <lastmod>2019-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/array-map-filter-reduce-javascript.webp</image:loc>
      <image:title>Mastering Array Map Filter and Reduce in JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/bem-naming-convention-scalable-css/</loc>
    <lastmod>2019-05-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/bem-naming-convention-scalable-css.webp</image:loc>
      <image:title>Clean CSS Architecture with BEM Naming Conventions</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/intersection-observer-lazy-loading/</loc>
    <lastmod>2019-04-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/intersection-observer-lazy-loading.webp</image:loc>
      <image:title>Lazy Loading Images with the Intersection Observer API</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/accessible-forms-without-extra-javascript/</loc>
    <lastmod>2019-04-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/accessible-forms-without-extra-javascript.webp</image:loc>
      <image:title>Building Accessible HTML Forms with Native Validation</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-custom-properties-theming/</loc>
    <lastmod>2019-03-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-custom-properties-theming.webp</image:loc>
      <image:title>Dynamic UI Theming with CSS Custom Properties</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/debounce-and-throttle-in-javascript/</loc>
    <lastmod>2019-03-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/debounce-and-throttle-in-javascript.webp</image:loc>
      <image:title>Implementing Debounce and Throttle in Vanilla JavaScript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/css-grid-vs-flexbox-layout-patterns/</loc>
    <lastmod>2019-02-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/css-grid-vs-flexbox-layout-patterns.webp</image:loc>
      <image:title>CSS Grid vs Flexbox Choosing the Right Layout System</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/semantic-html5-document-outline/</loc>
    <lastmod>2019-02-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/semantic-html5-document-outline.webp</image:loc>
      <image:title>Writing Semantic HTML5 for Accessible Document Structure</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/sieve-of-eratosthenes/</loc>
    <lastmod>2019-01-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/sieve-of-eratosthenes.webp</image:loc>
      <image:title>Solving Sieve Of Eratosthenes</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/two-sum/</loc>
    <lastmod>2019-01-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/two-sum.webp</image:loc>
      <image:title>Two sum algorithm in Javascript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/mean-median-mode/</loc>
    <lastmod>2019-01-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/mean-median-mode.webp</image:loc>
      <image:title>Mean Median Mode Algorithm</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/reverse-words/</loc>
    <lastmod>2019-01-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/reverse-word.webp</image:loc>
      <image:title>Reverse words algorithm in Javascript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/caesar-cipher/</loc>
    <lastmod>2018-12-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/caesar-cipher.webp</image:loc>
      <image:title>Caesar cipher encryption in Javascript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/palindromes/</loc>
    <lastmod>2018-12-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/palindromes.webp</image:loc>
      <image:title>Check for palindromes with Javascript</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/harmless-ransom-note/</loc>
    <lastmod>2018-12-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/harmless-note.webp</image:loc>
      <image:title>Implement Harmless Ransom Note</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.cleanmarkup.com/posts/fizzbuzz/</loc>
    <lastmod>2018-12-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://www.cleanmarkup.com/img/posts/fizzbuzz.webp</image:loc>
      <image:title>Solving Fizz Buzz Using Javascript</image:title>
    </image:image>
  </url>
</urlset>
