<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Responsive | Fiona MacNeill | Macknowlogist</title>
    <link>https://macknowlogist.co.uk/tags/responsive/</link>
      <atom:link href="https://macknowlogist.co.uk/tags/responsive/index.xml" rel="self" type="application/rss+xml" />
    <description>Responsive</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-gb</language><lastBuildDate>Thu, 19 Jan 2017 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://macknowlogist.co.uk/media/icon_hu_57d0698421383678.png</url>
      <title>Responsive</title>
      <link>https://macknowlogist.co.uk/tags/responsive/</link>
    </image>
    
    <item>
      <title>Striving for accessibility - Eval pt 1</title>
      <link>https://macknowlogist.co.uk/blog/2017/01/striving-for-accessibility-summary-part-1/</link>
      <pubDate>Thu, 19 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://macknowlogist.co.uk/blog/2017/01/striving-for-accessibility-summary-part-1/</guid>
      <description>&lt;p&gt;Part 1 of my final evaluation. This entry outlines key decisions that I made regarding accessibility towards the end of the development period. I am writing and publishing it retroactively as it as represents a very large amount of thinking and work, which I kept notes about as I went along.&lt;/p&gt;
&lt;h3 id=&#34;based-on-observation&#34;&gt;Based on observation&lt;/h3&gt;
&lt;p&gt;Based on looking at a large number of NHS and governmental sites, referenced in former posts I realise that accessibility is crucial, perhaps even more than your average portfolio site. For example, looking at NHS England (2017) site I see that they offer a text-to-speech service. Based on experience in my day-job working with software vendors, some of these solutions can be quite expensive. It was however important to me to make the site as accessible as possible and that has meant some sacrifices along the way.&lt;/p&gt;
&lt;h3 id=&#34;keystone-texts&#34;&gt;Keystone texts&lt;/h3&gt;
&lt;p&gt;While engaging in this in-depth investigation into the accessibility, I found myself referring to the following keystone texts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
 - UX accessibility specialists an amazing resource&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
 - a frequent go-to of mine&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I feel like I have only scratched the surface with the WAI-ARIA roles, but based on testing I feel that the site is accessible as I could get it within the allotted time. In the end I found a blog post on the subject by a rather brilliant developer, Aaron Krauss (2016) who did a great job of how to practically use certain ARIA labels and roles. What I did find is that there is quite a lot of redundancy in the code, but you need to have it there as the screenreader doesn&amp;rsquo;t necessarily pick up the semantics in the page construction as you might intend. Here is a video of my screenreader testing in action with tab key only - tabindex (Mozilla Developer Network, 2017)&lt;/p&gt;
&lt;h3 id=&#34;what-the-font&#34;&gt;What the font?&lt;/h3&gt;
&lt;p&gt;I conducted some reading (Nielsen, 2002; Martin, 2009; Franz, 2014; ) around legible fonts and font sizes and optimal line height. I have tried my best to work with the best practices, although that does get tricky with the mobile screen size. However, the attention that I have paid to optimising the CSS stylesheet for plain readers should help those who use accessibility features on mobile devices. &lt;strong&gt;Added a fix to the superscript&lt;/strong&gt; I found a very helpful snippet for fixing line height for superscript (used for references) and subscript. Thank you to the -ever helpful- CSS Tricks site (Coyier, 2009a). &lt;strong&gt;Contrast&lt;/strong&gt; As much as I loved the white headers along the timeline the contrast was not sufficient. The colour scheme is themed around blues and purples and unfortunately white on blue doesn&amp;rsquo;t comply with WCAG 2.0 unless the blue shade is very dark or the white font is very large (Snook, 2015; WAVE, n.d.).&lt;/p&gt;
&lt;h3 id=&#34;the-accordion-had-to-go&#34;&gt;The accordion had to go&lt;/h3&gt;
&lt;p&gt;Upon testing the tab-key only navigation I realised that there was no accessible way (that I could muster anyway) to navigate the accordion (Mary Lou, 2012) and for that reason it had to go. I added two simple tables, which I was trying to avoid, but as they area features comparisons this use us permissible. I was not using the tables for layout, but for the display of information in a standardised way. After the fact I found this accordion example at codepen.io which might have been better, but not without a lot of work: 
&lt;/p&gt;
&lt;h3 id=&#34;sprite-fun&#34;&gt;Sprite fun&lt;/h3&gt;
&lt;p&gt;I got my sprite on and added sprites for the device images. The device images were drawings that I created in Adobe Illustrator based on photographs. All the photos were 
 apart from the image of jeans, which I have listed below. This was added as an image through the CSS and aria-labelled for descriptive purposes. 















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;Image of sprite file showing the wearable devices&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2017/01/striving-for-accessibility-summary-part-1/images/devicediagrams-300x122_hu_8fe2e357a8dd9ac1.webp 300w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2017/01/striving-for-accessibility-summary-part-1/images/devicediagrams-300x122_hu_8fe2e357a8dd9ac1.webp&#34;
               width=&#34;300&#34;
               height=&#34;122&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
 The complete sprite for the devices in all of its glory. Photograph used as the basis for illustration of fasten/clip wearable - 
 by 
 is licensed under 
 CC0 images sources from Pixabay: 
 
 
&lt;/p&gt;
&lt;h3 id=&#34;fixing-the-tab-svg&#34;&gt;Fixing the tab svg&lt;/h3&gt;
&lt;p&gt;I replaced the svg tab to be a proper thing rather than the Frankenstein&amp;rsquo;s monster-like CSS creation 
. Once again I referred to the excellent CSS-Tricks (Coyier, 2013) and Mozilla Developer Network resources (2016c), as well as the Implementing Responsive Design book from the reading list (Kadlec, 2012).&lt;/p&gt;
&lt;h3 id=&#34;asking-myself-questions&#34;&gt;Asking myself questions&lt;/h3&gt;
&lt;p&gt;I tried my best to standardise all the units in the CSS although if I were to do it all again with hindsight I think that I might design my grid to work with ems or rems (once they are widely compatible or older browsers fall out of use). I&amp;rsquo;m sure that I have missed things in spite of several thorough read-throughs. It all validated okay. &lt;strong&gt;CSS code block structure:&lt;/strong&gt; e.g. div class or id - this resembles the layout of a div .div { display: block; position: relative; width: 90% height: 60% color: #000; margin: 2% auto 2% auto padding: 2% 4%; (shortenings used where possible) } e.g. typography class or id - this resembles the layout h2 { font-family: &amp;ldquo;Helvetica Neue&amp;rdquo;, Helvetica, Arial, sans-serif; text-align: center; font-size: 1.5em; line-height: 1.25; font-weight: 300; } In the HTML where white-space pre-line formatting was needed for the Goals and the references sections, I included comments to help indicate why the formatting was different in the markup. Also regarding the CSS as I was going through it, to weed it a bit, I asked myself a series of questions to help determine which units to use and such. I have included these below.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Is it text? = ems&lt;/li&gt;
&lt;li&gt;If it moves it is em or %. If it doesn&amp;rsquo;t or cannot move it is pixels&lt;/li&gt;
&lt;li&gt;Is it in a column in the grid - then margins and padding are percentages (unless there is a very good reason for them not to be)&lt;/li&gt;
&lt;li&gt;Is it in the grid - then margins and padding are percentages&lt;/li&gt;
&lt;li&gt;Is it used in the html? No, then get rid of it Could it be consolidated in any way? Does it share the same values as another class and/or id?&lt;fn&gt;I would have liked to do more on this, but I ran out of time. Did my best to do it as I went along.&lt;/fn&gt;&lt;/li&gt;
&lt;li&gt;Does it need to be a negative value (particularly in the media queries)? Then it is in ems.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Rationale:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When it is something that needs to have set dimensions such as a button, I am using pixels.&lt;/li&gt;
&lt;li&gt;For text I am using ems to ensure compatibility with older browsers&lt;/li&gt;
&lt;li&gt;For table related items and blocks which reside in divs I have used percentages.&lt;/li&gt;
&lt;li&gt;Used hexadecimal shortenings when it made sense to do so and it did not change the hue of the colour (three digits rather than the standard 6). I prefer digits rather than word descriptions, due to colour precision.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;media-queries&#34;&gt;Media queries&lt;/h3&gt;
&lt;p&gt;Did a lot of work on these, again I found the Implementing Responsive Design (Kadlec, 2012) and the Introducing HTML 5 (Lawson &amp;amp; Sharp, 2011) books particularly helpful. I also added a arrow keys image and tooltip to help explain the navigation of the timeline. You will notice for the tabbed navigation of the site in the screen reader demo that the timeline is skipped over initially and I added to the JavaScript in order to allow the tab key for navigation in addition to the arrow keys. The arrow keys allow for greater freedom though, as once you have started tabbing through the carousel/timeline, you cannot get out of it with another tab press. Thus leaving it to the end and this is something for me to raise with the original developers to see if they can address that in future versions of the widget.&lt;/p&gt;
&lt;h4 id=&#34;references&#34;&gt;References&lt;/h4&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Coyier, C. (2009a, August 10). Prevent Superscripts and subscripts from affecting line-height &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Coyier, C. (2009b, October 24). CSS Sprites: What they are, why they’re cool, and how to use them &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Coyier, C. (2013, December 4). SVG tabs (using an SVG shape as template) &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Donut. (2011). Re: What are the most common font-sizes for H1-H6 tags. StackOverflow website. Retrieved 19 January 2017, from 
&lt;/p&gt;
&lt;p&gt;Franz, L. (2014, September 29). Size matters: Balancing line length and font size in responsive web design – smashing magazine &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Kadlec, T. (2012). Responsive Media. In Implementing responsive design: Building sites for an anywhere, everywhere web (pp. 95–127). Berkeley, CA: New Riders Publishing.&lt;/p&gt;
&lt;p&gt;Krauss, A. (2016, September 8). ARIA roles and attributes: How to actually use them | Aaron Krauss Retrieved from 
&lt;/p&gt;
&lt;p&gt;Lawson, B. D., &amp;amp; Sharp, R. (2011). Introducing HTML5 (2nd edition) (2nd ed.). Berkeley, CA: New Riders Publishing.&lt;/p&gt;
&lt;p&gt;Martin, M. (2009, August 20). Typographic design patterns and best practices – smashing magazine &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Mary Lou. (2012, February 21). Accordion with CSS3 &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Mozilla Developer Network. (2015, July 23). Using the aria-describedby attribute. Retrieved January 19, 2017, from Mozilla Developer Network website: 
&lt;/p&gt;
&lt;p&gt;Mozilla Developer Network. (2016a, December 15). WAI-ARIA basics. Retrieved January 19, 2017, from Mozilla Developer Network website: 
&lt;/p&gt;
&lt;p&gt;Mozilla Developer Network. (2016b, November 17). CSS values and units. Retrieved January 19, 2017, from Mozilla Developer Network website: 
&lt;/p&gt;
&lt;p&gt;Mozilla Developer Network. (2016c, December 3). Background-position. Retrieved January 19, 2017, from Mozilla Developer Network website: 
&lt;/p&gt;
&lt;p&gt;Mozilla Developer Network. (2017, January 16). Tabindex. Retrieved January 19, 2017, from Mozilla Developer Network website: 
&lt;/p&gt;
&lt;p&gt;NHS England. (2017). About NHS England. Retrieved January 23, 2017, from NHS England website: 
&lt;/p&gt;
&lt;p&gt;Nielsen, J. (1996, October 1). Accessible design for users with disabilities &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Nielsen, J. (2002). Let users control font size &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Snook. (2015). Colour Contrast Check &lt;/p&gt;
\[Computer software\]&lt;p&gt;. Retrieved 19 January 2017, from 
&lt;/p&gt;
&lt;p&gt;Stanford University Online Accessibility Program. (2016, August 1). Screen reader testing. Retrieved January 19, 2017, from Stanford University website: 
&lt;/p&gt;
&lt;p&gt;W3C. (2016, October 27). Accessible Rich Internet Applications (WAI-ARIA) 1.1 W3C Candidate Recommendation 27 October 2016. Retrieved January 23, 2017, from W3C website, 
&lt;/p&gt;
&lt;p&gt;W3C. The Roles Model. Retrieved January 19, 2017a, from WAI-ARIA website: 
&lt;/p&gt;
&lt;p&gt;W3C. WAI-ARIA role definition model - image. Retrieved January 19, 2017b, from WAI-ARIA website: 
&lt;/p&gt;
&lt;p&gt;W3Schools. CSS Tooltip. Retrieved January 19, 2017, from w3schools.com website: 
&lt;/p&gt;
&lt;p&gt;Watson, L. (2014, August 4). Using the tabindex attribute &lt;/p&gt;
\[Blog post\]&lt;p&gt;. Retrieved from 
&lt;/p&gt;
&lt;p&gt;WAVE web accessibility tool. &lt;/p&gt;
\[Computer software\]&lt;p&gt;. Retrieved January 19, 2017, from 
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Accessibility and responsive bits</title>
      <link>https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/</link>
      <pubDate>Mon, 02 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/</guid>
      <description>&lt;p&gt;This journal entry represents a mammoth effort to add high-quality content to the site.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I developed and added the patient story.&lt;/strong&gt; This was based on a characteristics list which I worked through rather vigorously on the afternoon of the 25th. This is still in handwritten form, so I will link to it as a google doc later on. I have included some key references for that process below. I want to highlight the National Joint Registry (2016) data, which was particularly helpful during the process of defining the patient story. Also the specific images that I used will be cited on the portfolio site (including cc0 works; royalty-free works) as I feel it is always very important to include the provenance of images in any context, but especially when engaging in a thought process based on a fictional patient/nurse interaction.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I added images to support the patient story.&lt;/strong&gt; These images were sourced from pixabay and one of my all-time faves, Creative Commons search as a means to filter Flickr images by license (
).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I recreated the images that I found for the patient story as drawings in Adobe Illustrator.&lt;/strong&gt; I wanted the images in the timeline to be small (100px x 100px); this is a limited amount of &amp;lsquo;bandwidth&amp;rsquo; to communicate a visual concept. For this reason I decided to use Adobe Illustrator to trace the images and then re-paint them, so that I could accentuate certain aspects through the use of selective colour. This worked well and I did investigate whether these images could be included as svgs, but the visual information was too complex as they were based on photographic materials. As a result I stuck with .png format as the final output. 















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;svg version of image - less visual information&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.28_hu_1945c0e8b0012560.webp 320w, https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.28_hu_620f126e2190351b.webp 480w, https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.28_hu_9e04f585cffdfd7.webp 607w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.28_hu_1945c0e8b0012560.webp&#34;
               width=&#34;607&#34;
               height=&#34;563&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
] .svg version of a timeline image - quite a bit of artifacting (tech-speak for mess) in the image render and it looks too sketchy 















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;screenshot of the png version image&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.44_hu_dd82d07838752235.webp 320w, https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.44_hu_b5134c7040ce06b1.webp 480w, https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.44_hu_910b5166c16f63eb.webp 693w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2017/01/accessibility-and-responsive-bits/images/Screen-Shot-2017-01-01-at-18.24.44_hu_dd82d07838752235.webp&#34;
               width=&#34;693&#34;
               height=&#34;584&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
.png version of the same image in Adobe Illustrator - more of the visual information from the original photograph is retained. This version has the right level of abstraction.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;All of the images were optimised using 
.&lt;/strong&gt; Honestly, I absolutely love this tool and will be using this from now on for all my images. Their algorithm somehow trims off the excess while keeping the core visual information.&lt;br&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Accessibility.&lt;/strong&gt; I ran an accessibility analysis on the site using the WAVE Web Accessibility Tool (
). It is pretty good, I still have a few aria, alt and title tags to include here or there but I have made progress in this area.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Infuriating.&lt;/strong&gt; As someone who uses Reader View (I found out that this is the official name for it) mode in Firefox and the equivalent in Safari, I was very frustrated by the restrictive and arbitrary local style sheet implemented by this mode. I have spent way too much time customising how the site looks in this context, but it really mattered to me as this would really put me off a site. Also, focusing on it has highlighted the importance of the semantic web; the &lt;em&gt;reader&lt;/em&gt; mode taps into the &lt;sections&gt; and other html5 element definitions. With a bit of hardcore tweaking, I finally have something that I can stand behind. The tweaking is outlined in a development post, however I found out by digging into the &lt;em&gt;reader&lt;/em&gt; displays in the respective browser stylesheets that they will ignore certain css classes. Specifically I needed to implement a class called .hidden which is the container for the flickity carousel dots. The &amp;lsquo;dots&amp;rsquo; are completely useless in the &lt;em&gt;reader&lt;/em&gt; view and just look like an orphaned ordered list. I also instituted a .sr-only class which is applied to loading GIFs and other elements which should not be shown in the &lt;em&gt;reader&lt;/em&gt; mode. All of this digging will serve me well for the print stylesheet, no doubt&amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I ran the Google mobile accessibility test on the site - It passed!&lt;/strong&gt; Here is the proof: 
 There is still a lot of content to add, but it is great to know that I am on the right track.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;references&#34;&gt;References&lt;/h3&gt;
&lt;p&gt;BBC (2013, January 16). Going paperless “would save NHS billions.” BBC Health. Retrieved from 
&lt;/p&gt;
&lt;p&gt;BBC (2016, September 7). NHS: Health apps to inform patient records. BBC Health. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Booth, R. (2016, December 13). The doctor on your Xbox? The NHS needs more digital ambition. The Guardian. Retrieved from 
&lt;/p&gt;
&lt;p&gt;BS EN ISO 13485:2016 Medical devices. Quality management systems. Requirements for regulatory purposes. (2016). Retrieved 22 December 2016, from 
&lt;/p&gt;
&lt;p&gt;BS ISO 13606-2:2008 Health informatics. Electronic health record communication. Archetype interchange specification. (2008). Retrieved 22 December 2016, from 
&lt;/p&gt;
&lt;p&gt;Choices, N. (2016, November 1). Health and fitness trackers. Retrieved January 2, 2017, from 
&lt;/p&gt;
&lt;p&gt;Dolatabadi, E., Babak, T., &amp;amp; Alex, M. (2014). Vision-based approach for long-term mobility monitoring: Single case study following total hip replacement. Journal of Rehabilitation Research and Development, 51(7), 1165–76.&lt;/p&gt;
&lt;p&gt;Farmer, A. Wearables sector grows as smartwatches increase in popularity. Retrieved January 2, 2017, from 
&lt;/p&gt;
&lt;p&gt;Heartfield, R., Loukas, G., &amp;amp; Gan, D. (2016). You are probably not the weakest link: Towards practical prediction of susceptibility to semantic social engineering attacks. IEEE Access, 4, 6910–6928. doi:10.1109/access.2016.2616285&lt;/p&gt;
&lt;p&gt;Institute for Quality and Efficiency in Health Care (2014). What can help relieve anxiety before surgery? - PubMed health - national library of medicine - PubMed health. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Johansson Stark, Å., Charalambous, A., Istomina, N., Salanterä, S., Sigurdardottir, A. K., Sourtzi, P., … Bachrach-Lindström, M. (2016). The quality of recovery on discharge from hospital, a comparison between patients undergoing hip and knee replacement - a European study. Journal of Clinical Nursing, 25(17-18), 2489–2501. doi:10.1111/jocn.13278&lt;/p&gt;
&lt;p&gt;Nasr, N., &amp;amp; Enderby, P. (2014). Redefinition of life experience following total hip replacement: Analysis of narrative as performance. International Journal of Orthopaedic and Trauma Nursing, 18(2), 89–98. doi:10.1016/j.ijotn.2013.07.005&lt;/p&gt;
&lt;p&gt;National Information Board. (2015, March 4). National information board’s workstreams. Retrieved January 2, 2017, from 
&lt;/p&gt;
&lt;p&gt;National Joint Registry. (2016). 13th Annual Report 2016 National Joint Registry for England, Wales, Northern Ireland and the Isle of Man Surgical data to 31 December 2015. Retrieved from 
&lt;/p&gt;
&lt;p&gt;NHS Choices. (2015, November 3). Health Apps library - NHS choices. Retrieved January 2, 2017, from 
&lt;/p&gt;
&lt;p&gt;Press Association (2016, September 7). NHS to have one website for appointments, prescriptions and advice. The Guardian. Retrieved from 
&lt;/p&gt;
&lt;p&gt;Pulkkinen, M., Junttila, K., &amp;amp; Lindwall, L. (2015). The perioperative dialogue - a model of caring for the patient undergoing a hip or a knee replacement surgery under spinal anaesthesia. Scandinavian Journal of Caring Sciences, 30(1), 145–153. doi:10.1111/scs.12233&lt;/p&gt;
&lt;p&gt;Rudolfsson, G. (2013). Being altered by the unexpected: Understanding the perioperative patient’s experience: A case study. International Journal of Nursing Practice, 20(4), 433–437. doi:10.1111/ijn.12195&lt;/p&gt;
&lt;p&gt;Wilson, D. (2016). An overview of the application of Wearable technology to nursing practice. Nursing Forum. doi:10.1111/nuf.12177&lt;/p&gt;
&lt;p&gt;Wilson, C. J., Mitchelson, A. J., Tzeng, T. H., El-Othmani, M. M., Saleh, J., Vasdev, S., … Saleh, K. J. (2015). Caring for the surgically anxious patient: A review of the interventions and a guide to optimizing surgical outcomes. The American Journal of Surgery, 212(1), 151–159. doi:10.1016/j.amjsurg.2015.03.023&lt;/p&gt;
&lt;p&gt;Image source: &amp;ldquo;
&amp;rdquo; by 
 is licensed under 
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Cellular concerns</title>
      <link>https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/</link>
      <pubDate>Sun, 11 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/</guid>
      <description>&lt;p&gt;I have been plugging away at the portfolio site with the primary aim of getting a semi-functional prototype version to Dr. Theo Fotis on Monday 12th of December. There is a still a huge amount of stuff to do, fix-up and streamline I will add these tasks to my Trello board. This journal entry provides a rundown of the decisions that I have this week.&lt;/p&gt;
&lt;h3 id=&#34;flickity-carousel&#34;&gt;Flickity carousel&lt;/h3&gt;
&lt;p&gt;I decided to make the &lt;em&gt;carousel-cell&lt;/em&gt; 100% width due to the need for a more immersive timeline. What I mean by this is that I felt that the cells were too modular before and the greater width (formerly 66%) makes more sense in terms of showing the long anxiety levels .svg file. I still have lot of work to do in terms of consolidating my JavaScript and CSS files into one of each and then also minimising my JavaScript file. One of the things that Marcus brought to my attention was that my script sources should not be loaded in the header of my index.html and that this was bad practice. They now reside under the footer, but this presented some new challenges. For example the smoothScroll function had issues loading so I added a new main.js file (this is will become the final master js file) and added a window EventListener and then added an init function - to initialise SmoothScroll after the load is completed. The other issue is that Flickity Carousel for the timeline started to flash up momentarily as a column until it found it&amp;rsquo;s &lt;em&gt;brain&lt;/em&gt; (aka the script actually loaded). I actually only discovered this due to using my mobile broadband stick in a cafe and noticed the latency. The Flickity Carousel is currently initialized at the bottom of a unique flickity.js file&lt;fn&gt;I needed to keep the smoothScroll.js and flickity.js separated while I figured out how to get things working harmoniously.&lt;/fn&gt;. What I needed to do to solve this was to set the carousel opacity as 0 until the window has loaded and as the carousel is not a function in the same way as smoothScroll it was a bit trickier for me; there wasn&amp;rsquo;t something straightforward for me to work with. What I ended up doing was adding a new variable for carousel immediately after initialising flickity (entails designating the css selector as a flickity carousel) and then applying a style to make the opacity 1&lt;fn&gt;I had to consult github for help with this as I was at a loss for a bit: 
.&lt;/fn&gt;. This is working nicely, however the delay or a white screen may be improved by a momentary loading GIF in order to explain what is going on for a slower connection - one to add to the to do list! I quite like the Buffer GIF animation and this helpful tutorial explains how to code something like this with an SVG file as opposed to GIF, I&amp;rsquo;ll give it a go: 
. Also due to the audience of this site, I think that it is important to include the word &amp;ldquo;Loading&amp;rdquo; alongside any GIF or animated SVG. As part of the process above I added the cellSelector option to the carousel in JSON format, as initially I thought that I might want an EventListener. It seems that this might be useful later on, so I have left it in place for now. e.g. &lt;code&gt;data-flickity=&#39;{ &amp;quot;cellSelector&amp;quot;: &amp;quot;.carousel-cell&amp;quot;, &amp;quot;freeScroll&amp;quot;: true}&#39;&lt;/code&gt; Another issue was with the customised Flickity dots (used for timeline navigation) was that I had set the position of their container to &lt;em&gt;absolute&lt;/em&gt; and the overflow to &lt;em&gt;hidden&lt;/em&gt; as a solution for smaller screens or browser windows (the dots disappear entirely on a mobile phone sized screen). However, I noticed a sort of ghosting issue as a consequence of the overflow.&lt;/p&gt;
&lt;p&gt;[















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;Screenshot of the dots with the ghosting overflow issue&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/ghostydots_hu_8a8bd3a8ae31be5a.webp 320w, https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/ghostydots_hu_8a2f57eb196a8a44.webp 471w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/ghostydots_hu_8a8bd3a8ae31be5a.webp&#34;
               width=&#34;471&#34;
               height=&#34;154&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
]
&lt;em&gt;It is quite subtle, but can you see those little grey lines between 2 and 3 and also between 3 and 4? There be the ghosties!&lt;/em&gt;
I fixed this by adding &amp;ldquo;white-space: nowrap;&amp;rdquo; to the dots themselves so that the wrapping was disabled. &lt;strong&gt;Result!&lt;/strong&gt; 















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;Screenshot showing the fixed dots&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/fixednonghostydots_hu_a873b82c1c3a7e4b.webp 320w, https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/fixednonghostydots_hu_e6018ff8097fd301.webp 453w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2016/12/cellular-concerns/images/fixednonghostydots_hu_a873b82c1c3a7e4b.webp&#34;
               width=&#34;453&#34;
               height=&#34;149&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
. Yay, no more ghosties!&lt;/p&gt;
&lt;h3 id=&#34;here-be-the-stuff-of-nightmares&#34;&gt;Here be the stuff of nightmares&amp;hellip;&lt;/h3&gt;
&lt;p&gt;I have to admit that I spent way too much time on this issue, but it was honestly driving me to distraction. So having fixed my grid so that it was had even widths and looked lovely as I started to use my grids I found that I needed to add unique classes for the blocks that appear in each &lt;section&gt; of the html file. The grid structure is left in place as a logical point of reference. Then I found that my written content in the grid was overflowing beyond the height of the sections. This was relatively easy to fix by setting the classes for the sections to have relative positions and have overflow set to auto. Phew. However, as I added some placeholder content to my grid blocks I found that the widths were still perfect but the heights of columns were not okay. What I mean by &amp;ldquo;not okay&amp;rdquo; is that if a block had more written content then it was longer to contain this content. Therefore blocks positioned adjacent to each other looked askew. &lt;code&gt;/* tried this and hated it .is-table-row { display: table; } .is-table-row [class*=&amp;quot;col-&amp;quot;] { float: none; display: table-cell; vertical-align: top; border: solid 7px #EEEEEE; border-radius: 0; } */&lt;/code&gt; This was strangely very hard to fix. I tried several methods. First I tried fool it into thinking it was a table, but I lost my gutter and I worried about responsive accessibility. I also tried CSS pseudo classes (which I now have a little bit of experience with after customising the dots), but it didn&amp;rsquo;t provide the desired look either. I also tried adding attributes to the section container and the &amp;ldquo;One True Layout Method&amp;rdquo; (Coyier, 2010) where the margin-bottom is set to -99999px and the padding-bottom is set to 99999px and the overflow is hidden. This feels like brushing the problem under the carpet and it looks like it too as it cut off the bottom of my block outline and I like the outline. In the end I used row class for my grid defined to display &lt;em&gt;flex&lt;/em&gt; and and then use the flex-wrap &lt;em&gt;wrap&lt;/em&gt; setting. Alas, with one fell swoop my dream of full functionality in Internet Explorer is dashed as Flexible Box Layout module is not supported in IE9 at all (
).&lt;/p&gt;
&lt;h3 id=&#34;smoothscroll-and-the-navigation&#34;&gt;SmoothScroll and the Navigation&lt;/h3&gt;
&lt;p&gt;In an earlier journal entry I had cited this fixed navigation example on codepen (
) as being close to what I would like for the navigation on my site, however I have also been devouring a book on web accessibility, &lt;em&gt;Inclusive Design Patterns Coding Accessibility Into Web Design&lt;/em&gt; and anything fixed in the CSS was identified as a no-no in the book (Pickering, 2016). I had also found that the fixed header height meant was causing issues with the distance of the smoothScroll function. I was able to fix this by checking their documentation and adding the labeling the header as &lt;em&gt;data-scroll-header&lt;/em&gt; and then specifying this in the initiation script. Previously I had defined a spacer div for this purpose, it didn&amp;rsquo;t work perfectly for the smoothScroll function, but it ended up being handy for defining white space between the timeline and the about area (in addition to the use of margin settings it was helpful to have something that was independent). In the end I didn&amp;rsquo;t need most of this work as due to the advice in Pickering&amp;rsquo;s book, I decided that the navigation header needed to have a relative position instead of being fixed.&lt;/p&gt;
&lt;h3 id=&#34;anxiety-levels&#34;&gt;Anxiety levels&lt;/h3&gt;
&lt;p&gt;As I mentioned at the beginning of this post, I wanted to give the carousel/timeline a long image that continued along the base of cells showing the anxiety levels of the fictional patient during the story (this was shown in 
). I started by testing with a .png image and as I anticipated it looked awful but I was most interested in getting the positioning setup correctly. The issue was that the image kept showing up above or in front of the text inside the description div. Also as the window was resized the image floated upward from its initial position. The only way that I could fix this was to use z-index and a fixed position for the image container (I already broke the rules about &lt;em&gt;fixed&lt;/em&gt; items - see above) and then added a unique style id called #anxiety to specify how my image was shown in the container (as a background image). Initially I thought that I might need to specify one strip of the image per cell in the Flickity, but they kept overlapping and having layering issues. The logical approach in the end is to have one very long SVG. I need to optimise the SVG prior to the final release of the site, but at the moment I am still adding to it in Adobe Illustrator as I need to finish writing the patient story prior to finalising the graphic. As this graphic only serves an aesthetic purpose I think it is alright that it is both fixed and defined as a background image (and therefore cannot have an alt tag applied for accessibility reasons).&lt;/p&gt;
&lt;h3 id=&#34;bios-section&#34;&gt;Bios section&lt;/h3&gt;
&lt;p&gt;I added box-shading to the photos - they needed a little something to differentiate them against the background. Once again this is not supported in IE9 although it is less critical than the flex-box issue outlined above.&lt;/p&gt;
&lt;h3 id=&#34;responsive-adjustments&#34;&gt;Responsive adjustments&lt;/h3&gt;
&lt;p&gt;I worked on the mobile phone break point for the media queries first. Specifically, &lt;code&gt;@media (max-width: 414px)&lt;/code&gt; I based this size on the Google Nexus 6P and the Apple iPhone 6 plus as although these are both phablet sized I certainly need the grid blocks to be shown in a single column at this size not in rows. In general I would like to steer clear of too many device specific breakpoints as it is better to think about the legibility of the design rather than get too obsessed this (an article by Justin Avery (2013) supports this view: 
 - not everyone agrees on this). Also, I realise that I need to go through the code and consolidate my classes and ensure that my units are standardised as % and &lt;em&gt;em&lt;/em&gt; prior to doing too much work on this. So the rest of the styling and layout needs to be completed first, based on a desktop first mentality.&lt;/p&gt;
&lt;h3 id=&#34;thinking-about-the-patient&#34;&gt;Thinking about the patient&lt;/h3&gt;
&lt;p&gt;I found myself rethinking the fictional patient&amp;rsquo;s name, based on the ever helpful Wolfram Alpha. It seems that women named &lt;em&gt;Ruth&lt;/em&gt; are demographically older than the fictional patient should be (roughly 55-65yrs although I need more data on this - more on this in my next post). Although Wolfram Alpha is based on demographic information from the United States it is a good basic litmus test for this. Here is my comparison, &lt;em&gt;Carol&lt;/em&gt; may be a better name: 
&lt;/p&gt;
&lt;h3 id=&#34;references&#34;&gt;References&lt;/h3&gt;
&lt;p&gt;Avery, J. (2014, October 28). Why you don’t need device specific breakpoints. Retrieved December 11, 2016, from 
 Background-repeat. (2016, December 3). Retrieved December 11, 2016, from 
 Background-size. (2016, December 3). Retrieved December 11, 2016, from 
 Blender. (2016). Force a div to contain floated child divs. Retrieved 11 December 2016, from 
 Bos, B., Etemad, E. J., &amp;amp; Kemper, B. (2014, September 9). CSS backgrounds and borders module level 3. Retrieved December 11, 2016, from 
 Box-shadow. Retrieved December 11, 2016, from 
 Can I use&amp;hellip; Support tables for HTML5, CSS3, etc. (2016, October 23). Retrieved December 11, 2016, from 
 cferdinandi. (2016, December 11). Cferdinandi/smooth-scroll. Retrieved December 11, 2016, from 
 Cope, S. (2011a, September 6). Z-index. Retrieved December 11, 2016, from 
 Cope, S. (2011b, September 6). White-space. Retrieved December 11, 2016, from 
 Coyier, C. (2010, October 8). Media queries for standard devices. Retrieved December 11, 2016, from 
 Danilo, A. Splash vector graphics on your responsive site. Retrieved December 11, 2016, from 
 Kraken.io image Optimizer. (2013). Retrieved December 11, 2016, from 
 LePage, P. (2016, December 16). Responsive web design patterns. Retrieved December 16, 2016, from 
 Lumsden, A. (2012, June 27). Getting started with Scalable vector graphics (SVG). Retrieved December 11, 2016, from 
 metafizzy. (2016). Callback when Flickity is initialized? · issue #269 · metafizzy/flickity. Retrieved December 11, 2016, from 
 metafizzy. Options. Retrieved December 11, 2016, from 
&lt;/p&gt;
&lt;p&gt;Pickering, H. (2016). &lt;em&gt;Inclusive design patterns&lt;/em&gt; (Kindle ed.). Freiburg, Germany: Smashing Magazine GmbH.&lt;/p&gt;
&lt;p&gt;Quick and simple image placeholders. Retrieved December 11, 2016 (UPDATED: May 5, 2019), from 
 Salloum, N. (2014, April 4). CSS equal height columns, Three different ways. Retrieved December 11, 2016, from 
 van Gemert, V. (2013, March 1). Logical Breakpoints for your responsive design – smashing magazine. Retrieved December 12, 2016, from Design, 
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Building the grid</title>
      <link>https://macknowlogist.co.uk/blog/2016/11/building-the-grid/</link>
      <pubDate>Tue, 22 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://macknowlogist.co.uk/blog/2016/11/building-the-grid/</guid>
      <description>&lt;p&gt;After starting my initial experiments/prototypes for the portfolio project from a boilerplate I decided that I wanted to build my own responsive CSS grid from scratch. The grid turned out fairly well although there are some very slight issues with the column alignment which I need to sort out. I also still need to add the mobile device break points. I did find it very helpful to make use of the CSS calc() function to actively resize widths in percentages based on window size (calc()., 2016). This is a fantastic function although the support for it isn&amp;rsquo;t universal yet (82.73 according to caniuse.com). Having said that I did try my grid in Safari to see how it behaved in an unsupported browser and I was pleased with how well it resized. 















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;Screenshot showing the issue with column alignment&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/gridalignissue_hu_53a8eb75e762fd8c.webp 320w, https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/gridalignissue_hu_2cb8061ffc9b8cb1.webp 480w, https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/gridalignissue_hu_478f5c6a5c240c3b.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/gridalignissue_hu_53a8eb75e762fd8c.webp&#34;
               width=&#34;760&#34;
               height=&#34;710&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
 The coloured overlay is included to highlight the issue with the column alignment.















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;Screenshot showing the grid system with a photoshop grid/guides overlaid&#34; 
               srcset=&#34;https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/fixthegridalignissue_hu_6249c330f59023e3.webp 320w, https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/fixthegridalignissue_hu_32044093c0fdd33e.webp 480w, https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/fixthegridalignissue_hu_7bc8590b627ab816.webp 613w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;https://macknowlogist.co.uk/blog/2016/11/building-the-grid/images/fixthegridalignissue_hu_6249c330f59023e3.webp&#34;
               width=&#34;613&#34;
               height=&#34;573&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
.&lt;/p&gt;
&lt;p&gt;I will attempt to use the power of Photoshop to fix my mathematics - here is a newly sized grid overlay using Photoshop guides to figure out the correct calculations. Just putting these calculations here for future reference. &lt;strong&gt;Columns:&lt;/strong&gt; Columns = 12 Gutter = 15px &lt;strong&gt;Rows:&lt;/strong&gt; Rows = 12 Gutter = 15px &lt;strong&gt;Margins:&lt;/strong&gt; Top = 10px Left = 20px Bottom = 10px Right = 20px&lt;/p&gt;
&lt;h3 id=&#34;references&#34;&gt;References&lt;/h3&gt;
&lt;p&gt;Calc(). (2016, May 17). Retrieved November 22, 2016, from 
&lt;/p&gt;
&lt;p&gt;Can I use&amp;hellip; Support tables for HTML5, CSS3, etc. (2016, October 23). Retrieved November 27, 2016, from 
&lt;/p&gt;
&lt;p&gt;Drewniak, J. (2014, November 6). Creating your own CSS grid system. Retrieved November 25, 2016, from 
&lt;/p&gt;
&lt;p&gt;Gamache, D. (2016) A dead simple, responsive boilerplate. Retrieved November 25, 2016, from 
&lt;/p&gt;
&lt;p&gt;Imling, M. (2016). One% CSS Grid. Retrieved November 25, 2016, from 
&lt;/p&gt;
&lt;p&gt;Rand-Hendriksen, M. (2015, July 16). Making sense of the CSS box model. Retrieved November 25, 2016, from 
&lt;/p&gt;
&lt;p&gt;H5bp/html5-boilerplate. (2016, November 17). Retrieved November 25, 2016, from 
&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
