<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://ddd23.drupalcamp.at/">
  <channel>
    <title>Frontend Performance</title>
    <link>https://ddd23.drupalcamp.at/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Stupid Simple: Creating Simple, Reusable, Accessible Javascript Interactivity in Drupal (or wherever)</title>
  <link>https://ddd23.drupalcamp.at/stupid-simple-creating-simple-reusable-accessible-javascript-interactivity-drupal-or-wherever</link>
  <description>
&lt;span&gt;Stupid Simple: Creating Simple, Reusable, Accessible Javascript Interactivity in Drupal (or wherever)&lt;/span&gt;

  &lt;div class="field field--name-field-r field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Room&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-room/hs13-2nd-floor" hreflang="en"&gt;HS13 (2nd floor)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

&lt;span&gt;&lt;a title="View user profile." href="https://ddd23.drupalcamp.at/user/ctorgalson" lang about="https://ddd23.drupalcamp.at/user/ctorgalson" typeof="schema:Person" property="schema:name" datatype&gt;ctorgalson&lt;/a&gt;&lt;/span&gt;

&lt;span&gt;&lt;time datetime="2023-04-23T17:05:53+02:00" title="Sunday, April 23, 2023 - 17:05"&gt;Sun, 04/23/2023 - 17:05&lt;/time&gt;
&lt;/span&gt;

  &lt;div class="field field--name-field-time-slot field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Time Slot&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-time-slot/wed-1045am-1130am-71923" hreflang="en"&gt;Wed 10:45am to 11:30am (7/19/23)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-length field--type-list-integer field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session length&lt;/div&gt;
              &lt;div class="field__item"&gt;Long session - 45min, including Q&amp;amp;A&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-audience field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Audience&lt;/div&gt;
              &lt;div class="field__item"&gt;Intermediate&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-category field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Category&lt;/div&gt;
              &lt;div class="field__item"&gt;Decoupled &amp;amp; Frontend Development&lt;/div&gt;
          &lt;/div&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;p&gt;There are a few kinds of javascript-based interactive components that experienced front-end developers have typically built many times. We usually do this because we think the implementation needs to be specific to a given project even though we routinely re-use other code (like contrib modules and base themes) on every project.&lt;/p&gt;&lt;p&gt;If we could avoid this, we'd benefit by reducing time spent re-inventing the wheel, and by making it possible to back-port bugfixes and new features to existing projects.&lt;/p&gt;&lt;p&gt;Well, we can avoid it. Reusable, extensible, customisable implementations of these small interactive components is surprisingly simple--and fast.&lt;/p&gt;&lt;p&gt;In this session, I will:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;outline a flexible way to design and plan simple interactive javascript components for web projects with or without Drupal,&lt;/li&gt;&lt;li&gt;step through the implementation of a flexible, customisable, and accessible version of the Web Accessibility Initiative's "disclosure" (or show/hide) pattern,&lt;/li&gt;&lt;li&gt;(time permitting) step through extending the disclosure to create another common type of interactive component.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Attendees to the session will learn:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;a way to decide the appropriate roles of html, javascript, and css when building interactive tools,&lt;/li&gt;&lt;li&gt;a way to design javascript for progressive enhancement,&lt;/li&gt;&lt;li&gt;a way to design javascript for reusability &amp;amp; extensibility,&lt;/li&gt;&lt;li&gt;a way to design javascript for customisibility,&lt;/li&gt;&lt;li&gt;a way to design javascript for responsivity,&lt;/li&gt;&lt;li&gt;a way to design your javascript for accessibility,&lt;/li&gt;&lt;li&gt;a way to make javascript responsive.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-speakers field--type-entity-reference field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker(s)&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;div typeof="schema:Person" about="https://ddd23.drupalcamp.at/user/ctorgalson"&gt;
  
            &lt;div class="field field--name-user-picture field--type-image field--label-hidden field__item"&gt;  &lt;a href="https://ddd23.drupalcamp.at/user/ctorgalson" hreflang="en"&gt;&lt;img loading="lazy" src="https://ddd23.drupalcamp.at/sites/default/files/styles/medium/public/pictures/2023-04/headshot%202023.jpg?h=a5eb5da0&amp;amp;itok=MFegA3H7" width="220" height="220" alt="Profile picture for user ctorgalson" typeof="foaf:Image"&gt;

&lt;/a&gt;
&lt;/div&gt;
      
  &lt;h4&gt;Christopher Torgalson&lt;/h4&gt;
      &lt;div class="user__position"&gt;Front End Developer at Annertech&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="text-content clearfix field field--name-field-speaker-biography field--type-text-long field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker biography&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;p&gt;&lt;strong&gt;Christopher Torgalson has been building stuff on and for the web ever since failing to make a go of a career doing philosophy. His core competencies are the front-end, specifically in Drupal, but he also has experience in the back-end and in devops.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;He currently works with Annertech where he does front-end, back-end, and devops work.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-keywords field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Keywords&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/34" hreflang="en"&gt;Javascript&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/37" hreflang="en"&gt;CSS&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/38" hreflang="en"&gt;Frontend Performance&lt;/a&gt;&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
</description>
  <pubDate>Sun, 23 Apr 2023 15:05:53 +0000</pubDate>
    <dc:creator>ctorgalson</dc:creator>
    <guid isPermaLink="false">57 at https://ddd23.drupalcamp.at</guid>
    </item>

  </channel>
</rss>
