How to perform web accessibility for any site

Statement - How to perform the Web accessibility test for any site.

Solution :

Use online tools to check the website accessibility:




Web accessibility can performed on below parameters:

  1. Web page URL
  2. HTML file upload
  3. HTML Markup


Check Accessibility By:
 
   

Guidelines to Check Against

   
   
   

Report Format





  • Post the click on check it button , below results shown with solutions to be implemneted.

Accessibility Review

Accessibility Review (Guidelines: WCAG 2.0 (Level AA))

            


1.1 Text Alternatives: Provide text alternatives for any non-text content


Success Criteria 1.1.1 Non-text Content (A)


Check 1: img element missing alt attribute.
Repair: Add an alt attribute to your img element.
Error Line 176, Column 25:

Error Line 196, Column 25:

Error Line 217, Column 25:

1.4 Distinguishable: Make it easier for users to see and hear content including separating foreground from background.


Success Criteria 1.4.4 Resize text (AA)


Check 117: i (italic) element used.
Repair: Replace your i elements with em or strong.
Error Line 279, Column 24:
TIVICAY ®

Report Generation :


  1.  Result can be exported into pdf/HTML/CSV format.
  2. Report can be exported based on the type of accessibility validation(ex: CSS validation errors report, HTML validations ,likely , known and potential valdiations)

Other Online tools for web page accessibility online testing


Steps to be followed:
  1. Key in the website URL and click on test.
  2. It shows Test results
  3. You can download the report
  4. You can view the best practices and instances of failure as per web accessibility standard.
  5. you can also see the total compliance % of your site for Accessibility check refer the below screenshot.

     6. Sample download report in .xls format. refer the instance details to fix the missing details


     7. That's It!.


Steps for in place migration from AEM 6.1/6.2 to AEM 6.4

Statement - AEM 6.2 in place upgrade


Solution :



  1. AEM 6.2 instance up and running
  2. perform sanity check to see consoles are working fine
  3. Remove all custom code and configs and follow the pre-requisite - https://aemexperts.blogspot.com/2019/03/aem-64-upgrading-code-and-customizations.html
  4. Check “quickstart.properties” file is present under /crx-quickstart/conf. If not, copy from other instance and paste it under /crx-quickstart/conf
  5. Run offline compaction to reduce repository size and follow this URL :https://aemexperts.blogspot.com/2019/03/aem-offline-compaction.html
  6. Goto packageshare and download the package 

    pre-upgrade-package-cq62-1.2.zip

  7. Navigate to package manager and install the 

    pre-upgrade-package-cq62-1.2.zip



         Pre-upgraded package contain the purging of below taks
    • com.day.cq.wcm.core.impl.VersionPurgeTask
    • WorkflowPurgeTask
    • com.day.cq.audit.impl.AuditLogMaintenanceTask
    • GenerateBundlesListFileTask
    • DisableReplicationAgentsTask
   8. Once package is installed, navigate to OSGI Config Manager. Search for "preupgrade".     Look for com.adobe.aem.upgrade.prechecks.mbean.impl.PreUpgradeTasksMBeanImpl.

  9. 

Lets understand what these are parameters do:

  1. VersionPurge: used to purge page versions.
  2. GenerateBundlesListFileTask: List of bundles will be checked and placed in some path. check in the log file. 
  3. DisableReplication: Disable replication agents
  4. WorkflowPurgeTask:  Purge workflow. 
  5. com.day.cq.audit.impl.AuditLogMaintenanceTask: Audit log in logger.

NOTE: If you run any task which you not configured then pre-upgrade task gets fail.



 Finally click on invoke to execute the pre-upgraded tasks.










Post preupgrade task run identify the which all packages API will not available in upgraded version.






11. Stop AEM 6.2 server and remove files under crx-quickstart/install



12. Place your AEM 6.4 jar on the same place where AEM 6.2.jar placed.
13. Run the below command: D:\AEM 6.2\aem6.2upgrade>java -Xmx2048m -jar cq-author-p4502.jar -unpack
        once successful you can see the below message.

14. Place the latest Crx2Oak.Jar file under D:\AEM 6.2\aem6.2upgrade\crx-quickstart\opt\extensions
you can download the latest crx2oak.jar file from below location.
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/
15. Migrate the repository of AEM 6.2 to AEM 6.4 
 Context : because 6.3 introduced a new format for the SegmentNodeStore, which is the basis of the TarMK implementation. If you are upgrading from a version older than AEM 6.3, this will require a repository migration as part of the upgrade, involving system downtime.
AEM 6.2 to AEM 6.4 repository migration is needed. use the below command to run repository migration.
  commond to runjava -Xmx2048m -jar cq-author-p4502.jar -v -x crx2oak -xargs -- --load-profile segment-no-ds

finaly it shows migration completed as shown in below with some I/O error which are critical for the migration completion follow the step 16 to resolve the issue.

16. Post repository migration below issues are found in the console and upgrade log file.

23.10.2018 20:11:02.935 ERROR  c.a.g.c.u.f.DirectoryElementsSwitcher: The I/O er
ror occurred when switching directories.
  To complete migration you need to manually move the following files in the fol
lowing order:
                                                Source |  Operation |
                             Destination
    ...2upgrade\crx-quickstart\repository\segmentstore | -- MOVE -> | ...ory-crx
2oak-backup-20181023-200733\segmentstore
    ...sitory-segment-tar-20181023-200722\segmentstore | -- MOVE -> | ...2upgrad
e\crx-quickstart\repository\segmentstore

  Under UNIX you can try with the following commands:
    mv D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentstore D:\AEM 6.
2\aem6.2upgrade\crx-quickstart\repository-crx2oak-backup-20181023-200733\segment
store
    mv D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository-segment-tar-20181023-2
00722\segmentstore D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentsto
re

  Under Windows you can try with the following commands:
    move D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentstore D:\AEM
6.2\aem6.2upgrade\crx-quickstart\repository-crx2oak-backup-20181023-200733\segme
ntstore
    move D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository-segment-tar-20181023
-200722\segmentstore D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segments
tore


Move the above directories either manually or through command line in windows/unix.
i have manually moved  ...2upgrade\crx-quickstart\repository\segmentstore  folder to ...ory-crx
2oak-backup-20181023-200733\segmentstore

and Moved  ...sitory-segment-tar-20181023-200722\segmentstore  folder  to   ...2upgrad
e\crx-quickstart\repository\segmentstore

17. that's all now Start AEM 6.4.

18. It starts new segment tar repository and also perform re-indexing. it will take atleast 20 to 30 minutes based on the repos size. you will see the below message in error.log 

org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing completed

19. Navigate to product information console to see the product version.

20. Troubleshooting steps Post AEM start up for below error:
    Access the siteadmin console and other console to verify the consoles are                 working fine. 



  • in my case there was no error in the log files, all bundles were active.
  • No error in the upgrade log file
  • except siteadmin and Projects console all other consoles working, resource not found error while accessing the siteadmin console.

4.10.2018 16:17:38.255 *ERROR* [0:0:0:0:0:0:0:1 [1540368984623] GET /libs/cq/personalization/touch-ui/content/v2/audiences.html HTTP/1.1] org.apache.sling.servlets.resolver.internal.SlingServletResolver Calling the error handler resulted in an error

24.10.2018 16:17:38.268 *ERROR* [0:0:0:0:0:0:0:1 [1540368984623] GET /libs/cq/personalization/touch-ui/content/v2/audiences.html HTTP/1.1] org.apache.sling.servlets.resolver.internal.SlingServletResolver Original error class org.eclipse.jetty.io.RuntimeIOException
org.eclipse.jetty.io.RuntimeIOException: org.eclipse.jetty.io.EofException



Solution : did unbind of sling servlet resolver and restarted the AEM. issues got resolved.



Post migration Checklist:


Reference document :



Pattern Detector to check the impact on the code base migration

https://helpx.adobe.com/experience-manager/6-4/sites/deploying/using/pattern-detector.html#HowtoUse














AEM Server Startup Sequence

AEM  Server Startup Sequence :The elements required for CQAEM WCM are started in the following sequence (bottom-up):
Server Startup Sequence