<?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: BIKI DAS</title>
    <description>The latest articles on DEV Community by BIKI DAS (@bikidas).</description>
    <link>https://dev.to/bikidas</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%2F730553%2Fb75f4cd1-5952-428b-807a-03605ec5fa16.jpeg</url>
      <title>DEV Community: BIKI DAS</title>
      <link>https://dev.to/bikidas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bikidas"/>
    <language>en</language>
    <item>
      <title>"Unveiling JavaScript's Puzzling Quirk: The Object Identity of Null"</title>
      <dc:creator>BIKI DAS</dc:creator>
      <pubDate>Thu, 15 Jun 2023 18:26:22 +0000</pubDate>
      <link>https://dev.to/bikidas/unveiling-javascripts-puzzling-quirk-the-object-identity-of-null-2ifp</link>
      <guid>https://dev.to/bikidas/unveiling-javascripts-puzzling-quirk-the-object-identity-of-null-2ifp</guid>
      <description>&lt;p&gt;In the realm of frontend interviews, the question of &lt;strong&gt;typeof(Object)&lt;/strong&gt; has left many developers scratching their heads. We've all experienced the puzzling result: null, a value representing explicit emptiness, is strangely classified as an Object. But why does this anomaly exist? Join me on an exploration of JavaScript's early design era, where Brendan Eich created the language in record time. In this article, we'll embark on a journey through the world of 32-bit values, type tags, and binary magic. Prepare to unravel the captivating story behind why null aligns with the Object type. Let's dive into the enigma and discover the untold secrets!&lt;/p&gt;

&lt;p&gt;To understand the quirks of JavaScript, we must travel back to its inception. Brendan Eich's journey in creating JavaScript was a race against time, driven by the need for a versatile language to power the emerging web. In the blink of an eye, JavaScript was born, setting the stage for its intriguing behavior.&lt;/p&gt;

&lt;p&gt;Computers comprehend only zeros and ones, and JavaScript values were no exception. Visualize a time when JavaScript values were confined to 32 bits, forming the building blocks of the language we know today. These 32 bits held the key to unraveling the mysteries of type determination.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Po0A6TVo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1oql6k40e295g3zx1x2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Po0A6TVo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1oql6k40e295g3zx1x2.png" alt="Image description" width="748" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The final 1-3 bits of those 32 bits were allocated as type tags.These type tags were the gatekeepers to understanding the nature of a particular JavaScript value. They held the power to distinguish between primitive types and objects.&lt;/p&gt;

&lt;p&gt;Enter null, the sentinel value representing explicit emptiness. Null, at its core, is stored as a null pointer address consisting of all zeroes. This null pointer address aligns with the type tag assigned to objects in JavaScript, leading to the unexpected result when evaluating typeof null.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1eOxgyTJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7e54clkkuiqdxb4i2tuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1eOxgyTJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7e54clkkuiqdxb4i2tuf.png" alt="Image description" width="519" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By delving into the type tag table, we uncover the hidden connection between null and the Object type. The type tag for objects is represented by all zeroes, which perfectly matches the null pointer address. As a result, the typeof null expression yields "object," puzzling developers worldwide.&lt;/p&gt;

&lt;p&gt;I hope This article helped you to Uncover this mystic result of the typeof(Object), consider sharing the Article to let all of your fellow Programmers know and reveal the Mystery.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>frontend</category>
    </item>
    <item>
      <title>HTML5 Accessibility With Screen Reader</title>
      <dc:creator>BIKI DAS</dc:creator>
      <pubDate>Fri, 28 Oct 2022 17:37:47 +0000</pubDate>
      <link>https://dev.to/bikidas/html5-accessibility-with-screen-reader-ii6</link>
      <guid>https://dev.to/bikidas/html5-accessibility-with-screen-reader-ii6</guid>
      <description>&lt;p&gt;Learning About Accessibility should not be optional, As Accessibility denotes Whether a Product or service can be used by everyone, however, they use it. The Accessibility laws though helps the disabled and physically challenged people, But designers and developers must try to accommodate all Potential Users&lt;/p&gt;

&lt;p&gt;Starting With Accessibility is much simpler, as In Accessibility small changes have a Big Impact, Through this short Post I would give around a surface level of tour how Accessibility changes the interaction with a website through very few changes, So let us get started &lt;/p&gt;

&lt;p&gt;Starting with the code, we have just a single index.html page with few styles, and that's all we need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FN4MtbaE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0efaj7mwpaan7bzjxf00.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FN4MtbaE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0efaj7mwpaan7bzjxf00.png" alt="codesnippet" width="791" height="858"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will test the website using a screen reader which is a tool used by blind and visually impaired people to interact with websites, this is gonna make us understand how important semantic HTML is, I am using the Chrome Screenreader extension, you can use your choice of screenreader.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qi_YsvQl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vt3ujhtvm4r71f5g1wt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qi_YsvQl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vt3ujhtvm4r71f5g1wt.png" alt="chromescreenreader" width="880" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First starting with how the screen reader responds to our current website.&lt;/p&gt;

&lt;p&gt;As we start hovering on the parts of the webpage this is what the screen readers read when we approach the div element.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/hA_saX60qnU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Playing the video, we can see that the screenreader just announces &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Submit me&lt;br&gt;
The User using the screen reader wont be able to Figure out what actually submit me was.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Moving our screen reader to the image element.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FjzyK-zlRzc"&gt;
&lt;/iframe&gt;
&lt;br&gt;
The Screen reader only announces that this is a image and no other info is announced.&lt;/p&gt;

&lt;p&gt;Moving on the Accessible elements Part of the Page, we have a Form inside which we have two inputs and a button, let see how our screen reader interacts.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/5qDWM4CswiM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;From the video we can see the screen reader explicitly mentions the FirstName and lastName label which is due to the &lt;code&gt;label&lt;/code&gt; tag and also mentions the value inside of them and also along with submit me, the screen reader also announces that it is a button.&lt;/p&gt;

&lt;p&gt;The above Observation Let us realize the importance of using semantic HTML which can really make the website accessible, Example of html element include &lt;/p&gt;
&lt;h1&gt;-&lt;h6&gt;,,,,,, etc. They have builtin Accessibility specifications inside them. 

&lt;/h6&gt;
&lt;/h1&gt;
&lt;p&gt;Now lets try to make the non accessible things a little accessible&lt;/p&gt;

&lt;p&gt;Starting with the Div&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/SiqNAwrYnRU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As we can see, the Screen reader announces now that submit me is a button, what made this change possible was the &lt;code&gt;role&lt;/code&gt; attribute, the roles are provided ARIA, and they help to add semantics to non-semantic elements such as div and span. you can read more about it here &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles"&gt;ARIA&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---tBbocNY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cee6owgnqpry8myo6lwi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---tBbocNY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cee6owgnqpry8myo6lwi.png" alt="code snippet" width="791" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now moving to the Image element that we encountred, now let see what happen after adding an &lt;code&gt;alt text&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Av6GkDftSk8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As we can see such a small change has a big impact now any screenreader User can interpret the Image meaning out of it.&lt;/p&gt;

&lt;p&gt;The sum total of the above Observation might give you the impression how easy it is to get started to add accessibility and how small things have bigger impact&lt;/p&gt;

&lt;p&gt;To conclude, This Blog gave a small introduction to what Accessibility looks like from the surface , it is a very broad concept and Many Companies are working on making Accessible UI to make it easy for developers and designers to  Adopt it easily,&lt;/p&gt;



</description>
      <category>webdev</category>
      <category>a11y</category>
      <category>beginners</category>
      <category>html</category>
    </item>
  </channel>
</rss>
