<?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:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Richard Dacre]]></title><description><![CDATA[Richard Dacre]]></description><link>https://richard-dacre.co.uk</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 20:40:14 GMT</lastBuildDate><atom:link href="https://richard-dacre.co.uk/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[APEX and Accessibility Validation using tota11y]]></title><description><![CDATA[I’ve spent time over the years looking at how to improve the accessibility of applications that we, as Developers create to meet the needs of all users of our applications.
In my past life as an Oracle Forms Developer it was far more cumbersome to me...]]></description><link>https://richard-dacre.co.uk/apex-and-accessibility-validation-using-tota11y</link><guid isPermaLink="true">https://richard-dacre.co.uk/apex-and-accessibility-validation-using-tota11y</guid><category><![CDATA[orclapex]]></category><category><![CDATA[Oracle]]></category><category><![CDATA[database]]></category><dc:creator><![CDATA[Richard Dacre]]></dc:creator><pubDate>Thu, 14 Sep 2017 11:00:00 GMT</pubDate><content:encoded><![CDATA[<p>I’ve spent time over the years looking at how to improve the accessibility of applications that we, as Developers create to meet the needs of all users of our applications.</p>
<p>In my past life as an Oracle Forms Developer it was far more cumbersome to meet <a target="_blank" href="https://www.w3.org/WAI/intro/wcag">Web Content Accessibility Guidelines</a> than it is in Oracle APEX. APEX 5.x, the Universal Theme and Theme Roller have been massive strides in improving how we build accessible and compliant applications - even though you may not even know it.</p>
<p>In my experience there are occasions (rightly or wrongly) when developing applications, that we have had to move away from standard APEX functionality and create our own components that might not meet these standards.</p>
<p>Identifying issues where an application violates accessibility rules has always been a challenge.</p>
<p>Google Chrome has many extensions available such as the <a target="_blank" href="https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en">Accessibility Developer Tools</a> and <a target="_blank" href="https://chrome.google.com/webstore/detail/siteimprove-accessibility/efcfolpjihicnikpmhnmphjhhpiclljc">Site Improve Accessibility Checker</a> that I have used over time, but recently I came across <a target="_blank" href="http://khan.github.io/tota11y/">tota11y</a>.</p>
<p>I will let you read the full details, but tota11y is an interesting concept, as it is a single javascript file - tota11y.min.js that you can add into your application.</p>
<p>That will add a menu to the bottom left of your APEX application (and doesn’t look too out of place with the Developer Toolbar).</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/64c1dad1-e4ec-449e-a468-0ce52991831e/b5ffd4ae-a6d5-4324-acdf-b6b969fd5f1d.png" alt /></p>
<p>Click on the button, and this menu is displayed:</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/64c1dad1-e4ec-449e-a468-0ce52991831e/8848d0d4-ba4b-4c45-863f-f4e1ad6a8848.png" alt /></p>
<p>There are several features to the tool, and just wanted to cover a couple now that have really sparked my interest.</p>
<p>Headings - as it says above the plugin checks the order of the heading elements in your page and highlights any issues were the order is not in the defined, for example as h1 -&gt; h2 -&gt; h3.</p>
<p>See below, I’ve added a h1 and a (imaginatively titled “This is an h3 element") h3 element but no h2. This is a breach of accessibility rules.</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/64c1dad1-e4ec-449e-a468-0ce52991831e/0f56bc8e-2bd0-44a9-be01-eace9f3361d8.png" alt /></p>
<p>Whilst this might seen like a small issue, when it comes to accessible websites and applications, but correct ordering an structure this is key to providing in-page navigation for external accessibility tools - it is much more than a bigger font.</p>
<p>Not only does tota11y, highlight each element that it find in your page, the Errors tab also shows you what rules you are breaching:</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/64c1dad1-e4ec-449e-a468-0ce52991831e/48034ded-79d8-42c0-83b8-85f4a29ee2f4.png" alt /></p>
<p>The one feature that made me go “wow" is the "Screen Reader Wand", this is a hover over tool that shows the text that will be used by a <a target="_blank" href="https://en.wikipedia.org/wiki/Screen_reader">screen reader</a>.</p>
<p>In this example, tota11y captures the text of the Interactive Grid header for the “Abbreviation" column, and as the Interactive Grid is written in such a way that it is compliant with accessibility standards, it also identifies the ability to Sort Ascending and Descending.</p>
<p>Also, APEX is pretty clever with the badges in the left hand for screen readers as it surfaces both the name and the value.</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/64c1dad1-e4ec-449e-a468-0ce52991831e/96b8cea0-9f62-4452-9ebf-1c914e8c7002.png" alt /></p>
<p>Website accessibility is a massive subject that will take more than this basic blog post, but when designing applications, have a think about what you are doing and if it is compliant and maybe this tool will be of help but basically the APEX Team have done most of the hard work for us.</p>
<p>Any comments, you can find me on twitter <a target="_blank" href="https://twitter.com/RCDacre">@rcdacre</a>.</p>
<ul>
<li><a target="_blank" href="https://richarddacre.postach.io/tag/post">#post</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[APEX Login Page - Video Background]]></title><description><![CDATA[A short and sweet blog post but hopefully of interest.
There have been a few tweets recently about customising the login page in APEX to have background images, and I thought it was about time I blogged again about something I setup for a very small ...]]></description><link>https://richard-dacre.co.uk/apex-login-page-video-background</link><guid isPermaLink="true">https://richard-dacre.co.uk/apex-login-page-video-background</guid><category><![CDATA[Oracle]]></category><category><![CDATA[orclapex]]></category><dc:creator><![CDATA[Richard Dacre]]></dc:creator><pubDate>Fri, 11 Aug 2017 11:00:00 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/c8ffc0d9-d24a-4e04-b516-45907b967b00/a1768fcf-4c10-4bf6-8e81-58a5590ad3d7.gif" alt /></p>
<p>A short and sweet blog post but hopefully of interest.</p>
<p>There have been a few tweets recently about customising the login page in APEX to have background images, and I thought it was about time I blogged again about something I setup for a very small piece of <a target="_blank" href="https://twitter.com/aejes">John’s KSCOPE17 presentation</a>.</p>
<p>Basically, the request was to add a video to the background of a single page application (which had no login page).</p>
<p>So, I’ve decided to document how to do this on the Login Page.</p>
<p>You just need a mp4 file of the video of choice (I used <a target="_blank" href="https://videos.pexels.com/">https://videos.pexels.com/</a> for the stock video), and upload to static files in your application.</p>
<p>Then from a coding side, there are only really two components to it:</p>
<p>Add the following CSS into your application:</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/c8ffc0d9-d24a-4e04-b516-45907b967b00/138343f6-9b4a-4a40-bc14-e2c5fb2777f1.png" alt /></p>
<p>Then in the HTML Header of Page 101, add the following:</p>
<p><img src="https://cdn-images.postach.io/b010981a-bd29-46c5-ac78-bf4c31dd2ff6/c8ffc0d9-d24a-4e04-b516-45907b967b00/f88245af-be64-4c8e-828f-b9ea4e533976.png" alt /></p>
<p>That’s it.</p>
<p>Check out the demo in Chrome (unfortunately probably wont work in IE7) , and change the select list to get some more examples - <a target="_blank" href="https://apex.oracle.com/pls/apex/f?p=48107:101">here</a></p>
<p>Obviously, consider the size of the videos you are embedding but I think the output is pretty impressive.</p>
<p>Any comments, please contact me via Twitter <a target="_blank" href="https://twitter.com/RCDacre">@RCDacre</a></p>
<ul>
<li><p><a target="_blank" href="https://richarddacre.postach.io/tag/post">#post</a></p>
</li>
<li><p><a target="_blank" href="https://richarddacre.postach.io/tag/orclapex">#orclapex</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Get A Birdseye View of an APEX App]]></title><description><![CDATA[Over the years, one of the age old problems when speaking to users of applications, is that they can’t get to information they need quickly. There could be a range of reasons for this, badly designed flow, missing information or just simply too much ...]]></description><link>https://richard-dacre.co.uk/get-a-birdseye-view-of-an-apex-app</link><guid isPermaLink="true">https://richard-dacre.co.uk/get-a-birdseye-view-of-an-apex-app</guid><category><![CDATA[orclapex]]></category><category><![CDATA[Oracle]]></category><dc:creator><![CDATA[Richard Dacre]]></dc:creator><pubDate>Tue, 06 Jun 2017 11:00:00 GMT</pubDate><content:encoded><![CDATA[<p>Over the years, one of the age old problems when speaking to users of applications, is that they can’t get to information they need quickly. There could be a range of reasons for this, badly designed flow, missing information or just simply too much scrolling on the screen - the latter being the reason for this post.</p>
<p>The enhancements in APEX 5 and 5.1 have made a massive difference to how we build APEX apps, also the likes of Regional Display Selectors, and collapsable regions are great features. These allow regions to be displayed in a different way based on user action. Even though, we still get queries like “I still want to see everything though!" - this is obviously subject to performance etc.</p>
<p>So looking about for potential solutions, I came across <a target="_blank" href="http://achrafkassioui.com/birdview/">Birdview.js</a>.</p>
<p>Birdview.js is a simple Javascript plugin, that at the press of a button will show a high level (birdseye) view of your application. Take a look at the demo on the site, and just press the “Z" button on your keyboard.</p>
<p>This library is pretty new, less than a couple of weeks old, but took the opportunity of seeing how easily it could be embedded into APEX. Answer: very easy.</p>
<p><strong>Demo</strong></p>
<p>Check out the demo here (username = demo password = demo):</p>
<p><a target="_blank" href="https://apex.oracle.com/pls/apex/f?p=134575:5">https://apex.oracle.com/pls/apex/f?p=134575:5</a></p>
<p>The test case is pretty simple, this is the standard Sample Database Application, and page 5 has been updated to include all the charts on a single page. As with the plugin site, press the “Z" button. This will show the overview, you are then able to click anywhere on the overview and the screen will scroll to that section. Pretty neat.</p>
<p><strong>Installation</strong></p>
<p>To install, follow the instructions below:</p>
<ol>
<li><p>Download the css and js files from here: <a target="_blank" href="http://achrafkassioui.com/birdview/js/birdview.js">http://achrafkassioui.com/birdview/js/birdview.js</a> and <a target="_blank" href="http://achrafkassioui.com/birdview/css/birdview.css">http://achrafkassioui.com/birdview/css/birdview.css</a></p>
</li>
<li><p>In your APEX application, load as Static Files (or wherever you store your reference files)</p>
</li>
</ol>
<table><tbody><tr><td><p></p></td><td><p></p></td></tr></tbody></table>

<ol>
<li>Reference Files in User Interface Defaults:</li>
</ol>
<table><tbody><tr><td><p></p></td><td><p></p></td></tr></tbody></table>

<ol>
<li><p>On Page 0, create a "Page Load" Dynamic Action with the following settings:</p>
<ul>
<li><p>True Action:</p>
<ul>
<li><p>Action: “Execute Javascript"</p>
</li>
<li><p>Code:</p>
</li>
<li><p><em>birdview.init();</em></p>
</li>
</ul>
</li>
</ul>
</li>
</ol>
<p>That should be all you need to do, every page that needs to scroll with have the option by pressing the “Z" on the keyboard</p>
<p>You can also pass in the button parameter into the init command, which will hide the icon at the top right of the screen, for example:</p>
<p><em>birdview.init({</em></p>
<p><em>button: false</em></p>
<p><em>});</em></p>
<p><strong>Caveats</strong></p>
<p>This has been tested in Apex 5.1 at this stage, but will look at 5.0 and look under the hood a bit more in the near future to see if there is anything else of interest and post back here.</p>
<p>This has been tested on Safari and Chrome on Mac and IE11 on Windows 7. Also tested on iPhone, the pinch / zoom works well.</p>
<p>Any questions or ideas, please get in touch via my <a target="_blank" href="http://twitter.com/rcdacre">twitter</a></p>
]]></content:encoded></item></channel></rss>