<?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: Rahil Khan</title>
    <description>The latest articles on DEV Community by Rahil Khan (@nexcodestudio).</description>
    <link>https://dev.to/nexcodestudio</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4158451%2Fad52a1e8-df85-46f4-8c3b-d379e17096c1.png</url>
      <title>DEV Community: Rahil Khan</title>
      <link>https://dev.to/nexcodestudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nexcodestudio"/>
    <language>en</language>
    <item>
      <title>Alt text on small business websites: what to write (and what to skip)</title>
      <dc:creator>Rahil Khan</dc:creator>
      <pubDate>Sat, 10 Oct 2026 08:35:20 +0000</pubDate>
      <link>https://dev.to/nexcodestudio/alt-text-on-small-business-websites-what-to-write-and-what-to-skip-214e</link>
      <guid>https://dev.to/nexcodestudio/alt-text-on-small-business-websites-what-to-write-and-what-to-skip-214e</guid>
      <description>&lt;p&gt;Most small business sites I look at have images with no alt text, or alt text like &lt;code&gt;IMG_2041.jpg&lt;/code&gt;. It's a two-minute fix that helps three groups at once: people using screen readers, Google Images, and anyone on a slow connection where the photo doesn't load.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to write
&lt;/h2&gt;

&lt;p&gt;Describe what's in the picture and why it's there, in one short sentence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alt="Fresh sourdough loaves on the counter at Rosa's Bakery"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alt="Technician fixing a boiler in a customer's kitchen"&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the image is a button or link (like a logo that goes to the homepage), describe what it does: &lt;code&gt;alt="Rosa's Bakery home"&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to skip
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't start with "image of" or "picture of"; screen readers already announce it's an image.&lt;/li&gt;
&lt;li&gt;Don't stuff keywords ("best bakery cheap bakery bakery near me"). It reads badly and doesn't help ranking.&lt;/li&gt;
&lt;li&gt;Purely decorative images (background shapes, dividers) should have an empty alt: &lt;code&gt;alt=""&lt;/code&gt;, so screen readers skip them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick check
&lt;/h2&gt;

&lt;p&gt;Open your homepage, right-click a few photos, choose Inspect, and look at the &lt;code&gt;alt&lt;/code&gt; attribute. If it's missing or a file name, that's your to-do list for the week.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;NEXCOD builds fast, mobile-friendly websites for small businesses. Studio page: &lt;a href="https://nexcod.vercel.app" rel="noopener noreferrer"&gt;https://nexcod.vercel.app&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>a11y</category>
      <category>seo</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Stop layout shift on small business sites: give every image a width and height</title>
      <dc:creator>Rahil Khan</dc:creator>
      <pubDate>Fri, 09 Oct 2026 08:37:30 +0000</pubDate>
      <link>https://dev.to/nexcodestudio/stop-layout-shift-on-small-business-sites-give-every-image-a-width-and-height-mm4</link>
      <guid>https://dev.to/nexcodestudio/stop-layout-shift-on-small-business-sites-give-every-image-a-width-and-height-mm4</guid>
      <description>&lt;p&gt;Ever started reading a page, then the text jumps down because an image finally loaded? That's layout shift, and Google measures it as Cumulative Layout Shift (CLS), one of the Core Web Vitals.&lt;/p&gt;

&lt;p&gt;On small business sites the usual cause is simple: images without dimensions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix
&lt;/h2&gt;

&lt;p&gt;Add &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; attributes that match the image's real aspect ratio:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"team.webp"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Our team at the shop"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"1200"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"800"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then keep it responsive in CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;auto&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;Modern browsers use the two attributes to reserve the right amount of space before the file arrives, so nothing jumps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Same idea for other late-loading things
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Embeds (maps, videos):&lt;/strong&gt; wrap them in a box with &lt;code&gt;aspect-ratio: 16 / 9;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ads or banners:&lt;/strong&gt; reserve a fixed &lt;code&gt;min-height&lt;/code&gt; for the slot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web fonts:&lt;/strong&gt; use &lt;code&gt;font-display: swap;&lt;/code&gt; and pick a fallback font with similar width.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to check
&lt;/h2&gt;

&lt;p&gt;Open Chrome DevTools, go to Lighthouse, run a mobile report, and look at "Avoid large layout shifts". It lists the exact elements that moved.&lt;/p&gt;

&lt;p&gt;A two-minute fix that makes a site feel much more solid on phones.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NEXCOD builds fast, clean websites for small businesses: &lt;a href="https://nexcod.vercel.app" rel="noopener noreferrer"&gt;https://nexcod.vercel.app&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>performance</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Quick accessibility win: check your text contrast (WCAG 4.5:1)</title>
      <dc:creator>Rahil Khan</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:26:57 +0000</pubDate>
      <link>https://dev.to/nexcodestudio/quick-accessibility-win-check-your-text-contrast-wcag-451-1epj</link>
      <guid>https://dev.to/nexcodestudio/quick-accessibility-win-check-your-text-contrast-wcag-451-1epj</guid>
      <description>&lt;p&gt;Low-contrast text (light grey on white, white on pastel buttons) is one of the most common accessibility failures on small-business sites, and it hurts everyone reading on a phone in sunlight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The rule:&lt;/strong&gt; WCAG AA asks for a contrast ratio of at least &lt;strong&gt;4.5:1&lt;/strong&gt; for normal text and &lt;strong&gt;3:1&lt;/strong&gt; for large text (24px+, or 18.66px bold) and UI elements like button borders and form field outlines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to check in 2 minutes&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Chrome DevTools, inspect a text element and click the colour swatch: it shows the contrast ratio with a pass/fail tick.&lt;/li&gt;
&lt;li&gt;Run Lighthouse &amp;gt; Accessibility; it lists every element with insufficient contrast.&lt;/li&gt;
&lt;li&gt;Check hover/focus states and text over hero images too (add a dark overlay behind text on photos).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Common fixes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Darken body text: &lt;code&gt;#777&lt;/code&gt; on white is ~4.48:1 (fails); &lt;code&gt;#595959&lt;/code&gt; is ~7:1.&lt;/li&gt;
&lt;li&gt;Don't rely on colour alone for errors in forms; add an icon or message.&lt;/li&gt;
&lt;li&gt;Keep placeholder text readable, or better, use real labels.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Better contrast = more readable pages, fewer bounces and a more inclusive site.&lt;/p&gt;

&lt;p&gt;— NEXCOD, web design &amp;amp; development · &lt;a href="https://nexcod.vercel.app" rel="noopener noreferrer"&gt;https://nexcod.vercel.app&lt;/a&gt; · WhatsApp +1 289 902 5119&lt;/p&gt;

</description>
      <category>beginners</category>
    </item>
    <item>
      <title>Small-business websites: put one clear CTA above the fold</title>
      <dc:creator>Rahil Khan</dc:creator>
      <pubDate>Fri, 02 Oct 2026 20:05:49 +0000</pubDate>
      <link>https://dev.to/nexcodestudio/small-business-websites-put-one-clear-cta-above-the-fold-58nc</link>
      <guid>https://dev.to/nexcodestudio/small-business-websites-put-one-clear-cta-above-the-fold-58nc</guid>
      <description>&lt;p&gt;Most visitors decide in under 10 seconds whether to stay. If your homepage leads with a photo gallery and no next step, they bounce.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A simple rule:&lt;/strong&gt; put one clear action above the fold — &lt;em&gt;Call&lt;/em&gt;, &lt;em&gt;WhatsApp&lt;/em&gt;, or &lt;em&gt;Book&lt;/em&gt; — before portfolio photos or long copy.&lt;/p&gt;

&lt;p&gt;Then keep the rest short:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What you do (one line)&lt;/li&gt;
&lt;li&gt;Who it’s for&lt;/li&gt;
&lt;li&gt;Proof (a couple of examples)&lt;/li&gt;
&lt;li&gt;Contact again at the bottom&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s enough for most local and small-business sites. Fancy animations can wait.&lt;/p&gt;

&lt;p&gt;I build these for small businesses at &lt;strong&gt;NEXCOD&lt;/strong&gt; — fast, mobile-friendly sites and redesigns.&lt;br&gt;
Studio: &lt;a href="https://nexcod.vercel.app" rel="noopener noreferrer"&gt;nexcod.vercel.app&lt;/a&gt;&lt;br&gt;&lt;br&gt;
WhatsApp: +1 289 902 5119&lt;/p&gt;

</description>
      <category>css</category>
    </item>
  </channel>
</rss>
