Thursday, October 29, 2015

Accessibility Forms -IOS/Android

Technical Specification

  • OS-IOS
  • IDevice :Iphone/IPAD/MAC
  • Browser: Safari
  • Speak Tool : Voice Over

  • OS : Android ALL Version
  • Device: Samsung/Nexus etc
  • Browser: Chrome
  • Speak Tool : Android Talkback

Form Accessibility

  • Placeholder supported in IOS not in Android chrome
  • Title tag supported in IOS as well as in Android chrome
  • Aria-label supported in both

What are the guidelines?
1. Required field for Label field 
2. Required field feature for input fields attributes such as  <input type=text "Required"
3.Placeholder attribute
4. Label for Text field, combo box. 
5. Error message should be read out before input fields.
6. Checkbox, combobox, radio button, input fields should be read out by assistive technology.
7. Tab sequence should be followed.

Common Issue:

1. If item selected in combo box, the focus will go to the top of the page. Reason no Label FOR

Wednesday, October 21, 2015

Sitecore CMS 7.2 Performance Engineering

Every single improvement counts if we consider performance tuning in sitecore. There are unnecessary logs that generates at runtime which can be assessed and switch off , if it does not solve the purpose.
Ofcourse these are debugging logs but one should ensure if there is custom application logs written for specific purpose.


  1. Crawling.log
  2. Search.log
  3. WebDAV.log
This will reduce I/O read and write operation for certain extend. Just look at this scenario , where there is web farm with many servers and there is requests served by these servers every time and it generates tons of tons of logs which is not necessary at all.

IIS related Settings-Best Practice and Recommendation

  1. Set permissions on /website and /data
  2. Ensure the data and indexes folders are outside of the web root and update the web.config to point to the data folder
  3. In IIS ensure that Maximum Worker Processes for the Application Pool is set to 1 (under advanced settings)
  4. In IIS ensure that Load User Profile settings of the Application Pool is set to "true" (under advanced settings)
  • In IIS ensure anonymous access is denied for:
  •  /App_Config
  •  /sitecore/admin
  •  /sitecore/debug
  •  /sitecore/webservice
  1. In IIS Enable HTTP keep alive
  2. In IIS enable static content compression
  3. In IIS on the CMS server, enable dynamic content compression
  4. In IIS disable execute permissions on the upload folder
  5. In IIS enable content expiration using HTTP response headers, especially for the /sitecore folder (optional)

Sitecore Configuration Changes

  1.  Ensure the /data and /indexes folders are outside of the web root and update the dataFolder setting to point to the data folder.
  2. Include the path to static media files (header images, css files, JavaScript files) in the IgnoreURLPrefixes settings to prevent Sitecore from intercepting the requests.
  3. Disable unused search indexes by setting Indexing.UpdateInterval to 00:00:00.
  4. Update the standard cache sizes for prefetch, data, item and item as recommended (see the scaling guide), and then test for further adjustments.
  5. Ensure presentation components that are candidates for caching are set to cacheable.
  6. For 64-bit systems with the available memory, disable cache size limits using Caching.DisableCacheSizeLimits.
  7. Disable performance counters using Counters.Enabled as they add overhead.
  8. Disable WebDav by removing the references in , , .
  9. Disable memory monitor by removing the hook from .
  10. Restrict access to .XML, .XSLT and .MRT files using the section.
  11. Disable the upload watcher by removing it from the - Sitecore.Resources.Media.UploadWatcher.
  12. Optionally disable client RSS feeds by removing the Sitecore.Shell.Feeds.FeedRequestHandler.
  13. Remove unneeded headers from the responses.  For example X-Aspnet-Version, X-Powered-By, X-AspNetMVC-Version.
  14. If possible check disablebrowsercaching=false , if there is no form data and cookies in your system. This is recommeded for most generic, centric content website.
  15. Diable crawling.log, publishing.log and search.log in delivery boxes.
  16. Remove 404 errors
  17. Remove viewstate if we use traditional .
  18. Disable Webdav if not in use
  19. Use output caching.

Sitecore HTML Caching

1. Caching.DefaultHtmlCacheSize : Determines the default size of the html cache of a site specify the value in bytes or append the value with KB, MB or GB
Default Size=10mb
setting name="Caching.DefaultHtmlCacheSize" value="10MB"

site name="website" ... cacheHtml="true" htmlCacheSize="10MB"

Saturday, October 3, 2015

Accessibility - Checklist and Rule Book

Accessibility AA WCAG 2.0 must have technical guideline to achieve accessibility in very good form however Accessibility has got broader meaning and guidelines in terms of usability.

In Nutshell, if website has to be accessible and must be accessed through assistive technology, here is the following ask:-

1. Each information in the website must be easy to navigate and located.
2. Instructions in the device based on assistive technology must be very much supported. Such as use up and down or tab to navigate . Double tap to activate or deactivate and so on.
3. Color contrasts, font size and content placement has to be designed considering the flow of the information is very logical and making sense for listener, reader and viewer.
4.Entry and exit points has to be well defined otherwise the whole purpose of the given web page will beat the overall purpose.
5. Indicative , informational and Non contextual images must be defined and called out clearly.

Web Content Accessibility Guidelines (WCAG)
Accessible Rich Internet Applications (ARIA)
Assistive Technology
  • Android Talkback
  • Jaws IE
  • Voice  IOS
Most Common Defects:
    1. Check Empty Heading tags H1,H2,H3 etc.
    2. Check hierarchy of heading tags
    3. Never use Headings without content. Try to use div
    4. If table always use Table header as best practice
    5. If Image contains subtitle. Never use Alt..keep this empty. As assistive technology reads out twice.
    6. Take care of Anchor tag..make use of aria, role and title to spell out opens in window for target= _blank
    7. If there is more generic link such as more information or View button mention title to indicate the purpose.
    8. Checking tabbing order and ensure navigation help easy access to elements and content.
The following checklist is based on WebAIM's WCAG 2.0 Checklist. It is intended for training purposes and includes only the Level A and AA success criteria
Vision Australia
AA Compliance Checklist