Changeset 354079
- Timestamp:
- 10/16/2026 06:02:13 PM (11 days ago)
- Location:
- ariade/1.7.96
- Files:
-
- 4 edited
- 1 copied
-
. (copied) (copied from ariade/1.7.88 )
-
assets/css/theme.css (modified) (10 diffs)
-
functions.php (modified) (2 diffs)
-
readme.txt (modified) (3 diffs)
-
style.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
ariade/1.7.96/assets/css/theme.css
r352402 r354079 7 7 ================================================================ */ 8 8 :root{ 9 --base:#F7F9FC; --surface:#ECF1F8; --ink:#0E1B36; --body:#2B3B57; 10 --teal:#184FCB; --teal-deep:#0B1A3D; --teal-bright:#7FB0FF; 11 --coral:#2563EB; --coral-dark:#184FCB; --coral-light:#3B6FE0; 12 --muted:#B8C9EA; --line:#DCE4F0; --white:#fff; 13 --violet:#6D28D9; --fuchsia:#BE185D; --pink:#DB2777; 14 --display:"Barlow Semi Condensed",system-ui,sans-serif; 15 --body-font:"Geist",system-ui,-apple-system,sans-serif; 9 --brand-grad:var(--wp--preset--gradient--brand,linear-gradient(120deg,#184FCB,#6D28D9 55%,#BE185D)); --brand-grad-2:var(--wp--preset--gradient--brand,linear-gradient(135deg,#184FCB,#6D28D9)); 10 /* Tokens read the theme.json presets first, so a child theme's palette and 11 fonts reach every component. The literal values are the Ariade defaults. */ 12 --base:var(--wp--preset--color--base,#F7F9FC); --surface:var(--wp--preset--color--surface,#ECF1F8); 13 --ink:var(--wp--preset--color--ink,#0E1B36); --body:var(--wp--preset--color--body,#2B3B57); 14 --teal:var(--wp--preset--color--teal,#184FCB); --teal-deep:var(--wp--preset--color--teal-deep,#0B1A3D); 15 --teal-bright:var(--wp--preset--color--teal-bright,#7FB0FF); 16 --coral:var(--wp--preset--color--coral,#2563EB); --coral-dark:var(--wp--preset--color--teal,#184FCB); --coral-light:#3B6FE0; 17 --muted:var(--wp--preset--color--muted,#B8C9EA); --line:var(--wp--preset--color--line,#DCE4F0); --white:var(--wp--preset--color--white,#fff); 18 --violet:var(--wp--preset--color--violet,#6D28D9); --fuchsia:var(--wp--preset--color--fuchsia,#BE185D); --pink:var(--wp--preset--color--pink,#DB2777); 19 --display:var(--wp--preset--font-family--display,"Barlow Semi Condensed",system-ui,sans-serif); 20 --body-font:var(--wp--preset--font-family--body,"Geist",system-ui,-apple-system,sans-serif); 16 21 --maxw:1200px; --shadow:0 24px 60px -28px rgba(12,43,41,.5); 17 22 --shadow-sm:0 10px 30px -18px rgba(12,43,41,.45); … … 128 133 .icon-btn:hover{border-color:var(--teal)} 129 134 /* hamburger -> X */ 130 .burger{display:none;background: linear-gradient(120deg,#184FCB,#6D28D9 55%,#BE185D);color:#fff;border:0;box-shadow:0 10px 22px -12px rgba(109,40,217,.7)}135 .burger{display:none;background:var(--brand-grad);color:#fff;border:0;box-shadow:0 10px 22px -12px rgba(109,40,217,.7)} 131 136 .burger .bar{display:block;width:22px;height:2.4px;background:currentColor;border-radius:2px;transition:transform .25s var(--ease),opacity .2s ease} 132 137 .burger .bar+ .bar{margin-top:5px} … … 158 163 .menu-foot{margin-top:1.6rem;display:flex;flex-direction:column;gap:1.1rem} 159 164 .menu-foot .btn{width:100%} 160 .menu-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:1.05rem;border-radius:14px;background: linear-gradient(120deg,#184FCB,#6D28D9 55%,#BE185D);color:#fff;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:0 14px 30px -14px rgba(109,40,217,.7)}165 .menu-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:1.05rem;border-radius:14px;background:var(--brand-grad);color:#fff;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:0 14px 30px -14px rgba(109,40,217,.7)} 161 166 .menu-cta:hover{filter:brightness(1.06)} 162 167 .menu-contact{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;color:var(--muted);font-size:.95rem} … … 178 183 @media (max-width:1080px){ 179 184 .nav-desktop,.header-actions .only-desktop{display:none} 185 .header-actions{margin-left:auto} 180 186 .burger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center} 181 187 } … … 202 208 the footer. Sections manage their own spacing. */ 203 209 .wp-site-blocks > header,.wp-site-blocks > main,.wp-site-blocks > footer{margin-block-start:0;margin-block-end:0} 204 .footer-body{background: #0e1b36;color:#fff;padding:clamp(4.5rem,7vw,6rem) 0 clamp(1.5rem,3vw,2.5rem);position:relative;z-index:1}210 .footer-body{background:var(--ink);color:#fff;padding:clamp(4.5rem,7vw,6rem) 0 clamp(1.5rem,3vw,2.5rem);position:relative;z-index:1} 205 211 .footer-body .wrap{padding-top:0;padding-bottom:0} 206 212 .footer-cta{background:linear-gradient(100deg,#2743d0,#7a2fd6 55%,#c02582);border-radius:18px;max-width:1360px;width:calc(100% - 2rem);margin:clamp(1.5rem,3vw,2.5rem) auto -3rem;position:relative;z-index:2;color:#fff;box-shadow:0 24px 48px -20px rgba(122,47,214,.55);overflow:hidden} … … 243 249 .socials{display:flex;gap:.6rem;margin-top:1.4rem} 244 250 .socials a{width:44px;height:44px;border:1.5px solid rgba(127,176,255,.28);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .18s var(--ease),background .18s,border-color .18s} 245 .socials a:hover{border-color:transparent;background: linear-gradient(135deg,#184FCB,#6D28D9);transform:translateY(-2px)}251 .socials a:hover{border-color:transparent;background:var(--brand-grad-2);transform:translateY(-2px)} 246 252 .footer-col h2,.footer-col h3{font-family:var(--display);font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin:0 0 1.2rem;line-height:1.3} 247 253 .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem} … … 263 269 @media (max-width:560px){.footer-top-neutral{grid-template-columns:1fr}} 264 270 .footer-aa{display:block;font-size:.82rem} 265 .footer-aa b{font-family:var(--display);font-weight:800;font-size:.76rem;letter-spacing:.05em;color:#fff;background: linear-gradient(135deg,#184FCB,#6D28D9);padding:.22rem .55rem;border-radius:6px}271 .footer-aa b{font-family:var(--display);font-weight:800;font-size:.76rem;letter-spacing:.05em;color:#fff;background:var(--brand-grad-2);padding:.22rem .55rem;border-radius:6px} 266 272 @media (max-width:980px){ 267 273 .footer-top{grid-template-columns:1fr 1fr} … … 306 312 .menu-nav .msub-pm::before,.menu-nav .msub-pm::after{content:"";position:absolute;left:50%;top:50%;width:15px;height:2.6px;background:#fff;border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s var(--ease),opacity .2s var(--ease)} 307 313 .menu-nav .msub-pm::after{transform:translate(-50%,-50%) rotate(90deg)} 308 .menu-nav .msub-toggle[aria-expanded="true"] .msub-pm{background: linear-gradient(120deg,#184FCB,#6D28D9 55%,#BE185D);border-color:transparent}314 .menu-nav .msub-toggle[aria-expanded="true"] .msub-pm{background:var(--brand-grad);border-color:transparent} 309 315 .menu-nav .msub-toggle[aria-expanded="true"] .msub-pm::after{opacity:0} 310 316 .menu-nav .msub{list-style:none;margin:0;padding:0 0 .7rem} … … 393 399 #main > section, #main > .ribbon { margin-top: 0; margin-bottom: 0; } 394 400 /* ===== Mobile drawer close button (gradient, matches original design) ===== */ 395 .menu-close{background: linear-gradient(120deg,#184FCB,#6D28D9 55%,#BE185D);border-color:transparent;color:#fff}401 .menu-close{background:var(--brand-grad);border-color:transparent;color:#fff} 396 402 .menu-close:hover{filter:brightness(1.08);border-color:transparent} 397 403 /* ===================================================================== … … 693 699 ins{text-decoration:none;background:#e6f6ef;color:#0e1b36;padding:0 .15em;border-bottom:2px dotted #0e7c6b} 694 700 /* M12: images in content never exceed their container, even with width and height attributes */ 695 .entry-content img,.wp-block-post-content img,.wp-block-imageimg{max-width:100%;height:auto}701 :where(.entry-content,.wp-block-post-content,.wp-block-image) img{max-width:100%;height:auto} 696 702 /* M16/M19: field borders meet 3:1 against the page */ 697 703 .wp-block-search__input,.ariade-search-hero__input,.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea,.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),.wp-block-post-comments-form textarea{border-color:#6b7382!important} -
ariade/1.7.96/functions.php
r352402 r354079 1621 1621 * landmark-no-duplicate-banner / -contentinfo). 1622 1622 * 1623 * Ariade templates wrap the header and footer template parts in <header> 1623 * Ariade templates wrap the header and footer template parts in <header><meta charset="utf-8"> 1624 1624 * and <footer>. A child theme whose own parts already contain a <header> or 1625 1625 * <footer> (or role="banner" / "contentinfo") would then nest one landmark … … 1730 1730 } 1731 1731 add_action( 'wp_enqueue_scripts', 'ariade_comment_focus_script' ); 1732 1733 1734 /** 1735 * Developer credit in the document head (1.7.94, wording 1.7.95). 1736 * 1737 * Prints an author meta tag and a generator meta tag naming the theme and its 1738 * developer, so "view source", Wappalyzer and BuiltWith show where the site was 1739 * built. Nothing is shown on the page itself. A child theme can change the 1740 * text, or remove the tags, with the 'ariade_credit_meta' filter: 1741 * 1742 * add_filter( 'ariade_credit_meta', '__return_empty_array' ); 1743 */ 1744 function ariade_credit_meta() { 1745 $meta = apply_filters( 1746 'ariade_credit_meta', 1747 array( 1748 'author' => 'Shivaji Mitra, Ananyoo (https://ananyoo.com)', 1749 'generator' => 'Ariade WordPress theme by Ananyoo - https://ananyoo.com', 1750 ) 1751 ); 1752 if ( empty( $meta ) || ! is_array( $meta ) ) { 1753 return; 1754 } 1755 foreach ( $meta as $name => $content ) { 1756 if ( '' === (string) $content ) { 1757 continue; 1758 } 1759 printf( '<meta name="%1$s" content="%2$s" />' . "\n", esc_attr( $name ), esc_attr( $content ) ); 1760 } 1761 } 1762 add_action( 'wp_head', 'ariade_credit_meta', 1 ); 1763 1764 /** 1765 * Footer columns: tie each group of links to its heading (1.7.96). 1766 * 1767 * A footer column (a Group block with the class "footer-col") holds a heading 1768 * and a list. Visually the heading names the list, but assistive technology 1769 * did not know that. This gives the heading an id and labels the column with 1770 * it: role="navigation" when every list item is a link, otherwise role="group" 1771 * (for example a column of contact details). WCAG 1.3.1. 1772 * 1773 * @param string $html Rendered block HTML. 1774 * @param array $block Block data. 1775 * @return string 1776 */ 1777 function ariade_label_footer_columns( $html, $block ) { 1778 $class = isset( $block['attrs']['className'] ) ? (string) $block['attrs']['className'] : ''; 1779 if ( ! preg_match( '/(^|\s)footer-col(\s|$)/', $class ) || ! class_exists( 'WP_HTML_Tag_Processor' ) ) { 1780 return $html; 1781 } 1782 static $n = 0; 1783 $p = new WP_HTML_Tag_Processor( $html ); 1784 $id = ''; 1785 while ( $p->next_tag() ) { 1786 if ( preg_match( '/^H[2-6]$/', $p->get_tag() ) ) { 1787 $id = (string) $p->get_attribute( 'id' ); 1788 if ( '' === $id ) { 1789 $id = 'ariade-fcol-' . ( ++$n ); 1790 $p->set_attribute( 'id', $id ); 1791 } 1792 break; 1793 } 1794 } 1795 if ( '' === $id ) { 1796 return $html; 1797 } 1798 $html = $p->get_updated_html(); 1799 $items = preg_match_all( '/<li\b[^>]*>(.*?)<\/li>/is', $html, $m ); 1800 $links = 0; 1801 foreach ( $m[1] as $li ) { 1802 if ( false !== stripos( $li, '<a ' ) ) { 1803 ++$links; 1804 } 1805 } 1806 $role = ( $items > 0 && $links === $items ) ? 'navigation' : 'group'; 1807 $q = new WP_HTML_Tag_Processor( $html ); 1808 if ( $q->next_tag() && null === $q->get_attribute( 'role' ) ) { 1809 $q->set_attribute( 'role', $role ); 1810 $q->set_attribute( 'aria-labelledby', $id ); 1811 } 1812 return $q->get_updated_html(); 1813 } 1814 add_filter( 'render_block_core/group', 'ariade_label_footer_columns', 10, 2 ); -
ariade/1.7.96/readme.txt
r352402 r354079 6 6 Tested up to: 7.1 7 7 Requires PHP: 7.4 8 Stable tag: 1.7. 888 Stable tag: 1.7.96 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 152 152 == Changelog == 153 153 154 = 1.7.96 = 155 * Accessibility: footer columns are now tied to their headings. Each column gets role="navigation" (all links) or role="group" (for example contact details) and aria-labelledby pointing to its heading (WCAG 1.3.1). 156 157 = 1.7.95 = 158 * Generator meta tag now reads "Ariade WordPress theme by Ananyoo". 159 160 = 1.7.94 = 161 * Developer credit in the document head: an author meta tag (Shivaji Mitra, Ananyoo) and a generator meta tag (Ariade theme by Ananyoo). Nothing is shown on the page. A child theme can change or remove them with the ariade_credit_meta filter. 162 163 = 1.7.93 = 164 * The content image reset (max-width 100%, height auto) now uses :where(), 165 so it no longer overrides plugin image sizing. It stretched the 166 background images of the Accessible Carousel overlay slides far past 167 the slide height inside page content. 168 169 = 1.7.92 = 170 * Footer background uses the --ink token instead of a fixed #0E1B36, so 171 it follows the theme.json palette like the rest of the theme. Ariade 172 itself looks the same. 173 174 = 1.7.91 = 175 * The brand gradient on the menu button, drawer and a few hover states 176 now reads the "brand" gradient preset from theme.json, so a child 177 theme can recolour it. Ariade itself looks the same. 178 179 = 1.7.90 = 180 * Header: below 1080px, when the desktop menu is hidden, the search, 181 account and menu buttons now stay on the right edge. Before this they 182 sat next to the logo when the brand was short. 183 184 = 1.7.89 = 185 * The colour and font tokens at the top of assets/css/theme.css now read 186 the theme.json presets first (for example --ink uses 187 --wp--preset--color--ink), with the Ariade values kept as fallbacks. 188 A child theme that sets its own palette or fonts in theme.json now 189 changes every component. The default Ariade look is unchanged. 190 154 191 = 1.7.88 = 155 192 * Added the accessibility-ready tag after a full manual WCAG 2.2 AA audit … … 276 313 = 1.7.66 = 277 314 * Landmarks: when a child theme's header or footer part already has its 278 own <header> or <footer>, the template wrapper becomes a <div>, so a315 own <header><meta charset="utf-8"> or <footer>, the template wrapper becomes a <div>, so a 279 316 page never has two banner or contentinfo landmarks (seen on search). 280 317 * Author box: now a <section> instead of an <aside>, so it is not a -
ariade/1.7.96/style.css
r352402 r354079 5 5 Author URI: https://ananyoo.com 6 6 Description: Ariade is an accessible Full Site Editing (FSE) WordPress block theme for professional-services and business websites, built and tested to WCAG 2.2 AA. It ships with accessible header navigation, screen-reader-tested block patterns and predesigned inner pages. The free Ariade Header and Menu plugin adds the theme's simple, WCAG-friendly drop-down menu header, and the Ananyoo accessibility plugins add a carousel, forms and login. Built by M/S. Anblik. 7 Version: 1.7. 887 Version: 1.7.96 8 8 Requires at least: 6.6 9 9 Tested up to: 7.1
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)