Page 1 of 1

Code (X/HTML) compliance to w3c & accessibility

Posted: Mon Jun 29, 2009 9:22 pm
by Dabnis
Since writing these original comments I have had to eat 'loads' of humble pie. Sometimes it's not what you say, it's how you say it!.
I'll leave this post as is, if only to remind myself of this!!
Today I can only apologise to many people who put in many 1000's of free man hours to this project (sorry!)
Jonathan

Hi all,
I'm new to CMS made simple, but have been developing with php,html,css since the late 90's. I have been looking at this CMS made easy for 5 days now and have a couple of comments / questions to raise.

Documentation / How to's:
While many of the modules I have looked at supply a help that gives purpose;set-up/install & params etc. I have yet to find any that give usage examples. It would appear that some module developers are attempting to massage their technical egos by producing 'look what I can do' type modules without putting much, if any thought into documentation for users of their modules, which in effect removes the concept of 'open source'. Without exception the result of wanting to actually use a module is hours of trawling through a forum where most of the related posts are asking the same question.
How to tutorials are few and some that I have looked at are incomplete ending with terms such as 'to be completed ...' etc with a last modified date of several months past!
I understand that this CMS system is open source and that 'historically', one of the trademarks of open source projects was 'lack of documentation'. That was up until about 3 years ago and now most 'credible' open source projects have reasonable documentation. It has been shown that this is what makes them more popular (i.e. look at the rise in SilverStripe use), due to that projects documentation, as stated by user surveys post awards etc. Not ease of use or technical advantages, although these play a part.

Code compliance:
Within this forum I have found some posts on this issue, but once again the topic appears to have died having not been added to for at least 3 months.
Not only do I think that the HTML output from modules should be compliant, but recent changes within the law here in the UK & EU will soon make this CMS system useless for all but personal websites. Although accessibility laws have been in force throughout the EU & the UK since the late 90's they have never been implemented. This is about to change. It is suggested (UK government / disability commission ) that about 18 months ago all national & international companies operating within the EU were given warning about the imminent implementation of these laws. Many of you may have noticed a lot of 'accessibility' updates to websites run by banks and other national & international businesses. Here in the UK the 'Disability Commission' has a number of test cases pending for later this year. The UK gov website is indicating that on-line commercial websites 'must' in the future comply to any EU or UK law or face prosecution (the developers not the site owners).

As I have said I have only been looking a this system for about 5 days and I have to accept that my initial findings may be premature, but at this stage CMS made simple has identified itself as one that is only suitable for personal websites and due to its lack of compliance (from modules) could not be used on any commercial website.

Suggestion:
In an attempt to correct these issues why not have a data abstraction type module and a display type module.
Modules of type display produce an output that is compliant, where modules of type 'data' provide data in a form that the user can use within their smarty templates in a compliant manor.
Having just written the above I think that a third type of 'control' module may also be needed.
Module Type: Display  === compliant output.
Module Type: Data    === data + params to manipulate the data (no html output)
Module Type: Control  === providing system and site params.


Before the replies:
Yes I could go into the modules code(php) to make its output compliant, but then that would destroy any version control and update functionality. A module should encapsulate its methods of functionality away from the user and provide output to the user, otherwise it can't be considered a module in the true sense.

On a final note, I do like the concept of this CMS system and would like to think that I am wrong in what I have wrote.

Regards.

Jonathan

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Mon Jun 29, 2009 11:21 pm
by calguy1000
If you don't like the system, choose another...It is open source after all, you haven't paid anything,  feel free to move along...

There is nothing like  making your fist post, offending the developers, providing no specific examples, and recommending a complete change to the system to get yourself off on the wrong foot.

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 2:38 am
by viebig
Dont worry about Calguy.. he is direct, and in fact he´s right.

I will try to reply to your post with my poor english.

1. Documentation

I must agree with you that cmsms lacks at documentation. I believe that´s because cmsms has grown much more than "expected" and we depend on help to write good documentation and keep it updated. Most cmsms users I know or run their personal websites, or offer cmsms as a management alternative for their clients. And developers and supporters have to make a living, so I think the lack of time is an important factor.

2. Code compliance

You can write a module and make it compliant. The best cmsms modules, let the user define the output using db templates. But anyone can output anything the way they want when writing a module.

I don´t know about EU & UK disability commission standards, but if they run out from W3C Standards and WAI, they´re going against the flow, and when those things happens, in a historical point of view, that laws wont last too much. Maybe they should force Apple or Microsoft to adapt their systems to their laws.

Banks are always the first government target on new laws, because banks make a lot of money and government always want a bigger share using the excuse of accessibility and other "laws".

The day someone force me to write code the way they want me to, they´ll have to pay me very well, and probably I woudnt do it because of my principles. (or course that depends on the "very well" mentioned before).

3. Suggestions

You can write your own modules and share their beauty accessibility features by submiting it to cmsms forge. That wouid be productive.

You can pay someone to do it for you.

You can choose another CMS, or even write one from scratch, if that laws are true, you would make a lot of money.

4. Conclusion

Be productive, cmsms community dont need comments or feedbacks, we need:
  • Developers
  • Translators
  • Donators
And people who are willing to make cmsms better, respecting the reputation achieved until now.
Yes I could go into the modules code(php) to make its output compliant, but then that would destroy any version control and update functionality. A module should encapsulate its methods of functionality away from the user and provide output to the user, otherwise it can't be considered a module in the true sense.
That would be great! Like we all know cmsms is free, you can do wherever you want respecting the GPL license.

That´s my point of view.

Good luck and Regards

G
 

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 9:51 am
by Dabnis
Hi calguy1000 + others,
First off, it was not my intention to offend any member of the core development team. I intended my comment of 'technical ego ...' for module developers (general). The comment itself was in response to text that I found within the home page of this cms:
  • FEATURES: Accessibility WAI, WCAG, Section 508
  • FEATURES: Integrated and online help
  • FEATURES: Modular and extensible
  • Design Features: XHTML and CSS compliant
It was against the above from the sites 'home page' that I made my comments as it appeared to me that many module developers were not adhering to these points as promoted by the organization behind the cms itself.

Examples: I could provide examples of modules that do not provide output that meets the cms intended statement as shown above. I am sure that you will know of modules that do not meet standards compliance. I did not include examples as I did not want to make personal criticism, especially when I was not 100% sure that my opinions were correct, this having only been looking at the system for 5 days.

The Legal stuff:
Accessibility compliance is a big thing here in the UK & EU (Europe).
Here is a simple explanation:
Throughout the EU all countries that are members of the European Union must apply & obey to some EU laws. (I suppose this is similar to Federal Law as apposed to state law within the USA.) As well as there own national laws.
The disability discrimination act 1998 covers many aspects of th erights of the disabled person. The one area that effects web developers is this:
Extract
Any organization (commercial or charitable) must make reasonable steps to ensure that a disabled person has access to the products and services that they provide and that a disabled person access to such is not restricted by their disability.
Example
If you owned a small cafe here in the UK and did not provide access for disabled people (say that you had a 12 inch high step to enter the cafe and people in wheelchairs could not get in. Then you would be prosecuted and made to either change the entrance or face closure. Many believe that this is right. Disabled people can not live in some form of apatite society due to no fault of their own.
The reality for web developers & website owners
A website that offers a product or service and that website does not comply to accessibility guidelines (WIA /W3C) is in effect removing access for disabled people. Whether they use screen readers or some other form assisted technology because they can't use a keyboard. This is exactly the same of the cafe example example above.
There are some exceptions as not everything can be made accessible to all form of disability, but websites are not excluded as more and more commerce is done via the internet it has been agreed that disabled people  must not be excluded from online products or services.
OK it may be different in Canada, but that does not remove the requirements of web developers throughout Europe. As I mentioned in my previous post 'these laws have been around since 1998, but never implemented against websites', This is what is about to change. Large companies have been told and the whole web development industry here in the UK /EU will also change in respect to accessibility compliance.

Callguy100, I don't mind you speaking your mind, it's the best way and I will certainly not take any offense from your comments, although they are a little narrow minded and immature.

I don't see how I suggested changing the whole system by simply suggesting that as part of the requirements of a module the cms organization states that if a module provides HTML output then that output should comply with the features that the cms itself promotes, alternatively provide a minimum set of data & params that will allow the user of the module to provide compliant code. Ok I suggested grouping these into Display modules, Data Modules & Control Modules, but this is simply a naming convention, one that would assist users of modules.

The bottom line: The cms website promotes a system that is compliant to various standards and when a new user (me) raises issues about the failure of modules (some that are produced by members of the development team themselves) not meeting their own promoted standards I raise a forum post to ask if I am wright or am I missing something? I then get a response which basically boils down to 'if you don't like it then move on' & 'a great way to make your first post, by upsetting the dev team' etc ...
Come on guys, I know its open source, but as educated human beings we should still have some ethics.

OK I've had my rant: but at least it's got the topic moving and discussion is good.

The reason that I will stick with this cms is that I have been developing php / smarty sites for many years and the core of this cms is built on this technology. I only issue I have is that some modules do not maintain compliance to the features that the cms promotes and I will have to write substitute modules that do meet this sites stated compliance features. Post & Pre filters are really not an option as they will introduce performance hits.

Thanks for the replies

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 10:35 am
by reneh
(Just my 2 cents - I'm not a developer myself. I'm just a "long time follower" in this hence...)


AFAIK the core of cmsms should meet the Accessibility compliance as stated on the main site.

For all the add on modules the core team of cmsms can't guaranty anything. Its up to the developer how he/she want to give the "program" to the community. Of course if the developer state that his module fullfill Accessibility compliance he should also do so.

simply suggesting that as part of the requirements of a module the cms organization states that if a module provides HTML output then that output should comply with the features that the cms itself promotes, alternatively provide a minimum set of data & params that will allow the user of the module to provide compliant code.
And AFAIK the most popular add on modules are or can be made to meet the compliance quite easily of a person knowing his html/css. I guess the reason some modules fail "out of the box" is that the developers are coders and not designers. The default module templates are there as examples and its ment to be styles to fit the site it added to.
I guess most of the developers would appreciate if somebody send them new nice compliant templates for their modules. A nice place to start helping with this is by adding a Feture Request in the actual tracker for the module in the forge. In tracker you also can add ideas for what to change in the modules so they can meat compliance rules if such parameters are missing.

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 10:51 am
by Dabnis
Hi All,
Reading the post from G I have been thinking of how I can contribute to the project.
  • I will contribute code once I've covered my cms made simple learning curve.
  • Money! I myself am disabled (confined to a wheelchair) but can use the PC just as well as others. However my only source of income is my disability state benefit. What I do have to offer is an excellent hosting service and would like to offer hosting to forum members for there own sites & development at discounted prices. £3.50 (GBP) 6$69 (CAD) 5$80 (USD) per month. Unlimited bandwidth, 1GB of disk space, 50 MySql db's and all on quad core servers connected toi multiplr 10MB pipes located in a secure data centre. I will donate 30% of any of these hosting fees from forum members back to cms made simpel.
  • Once I have learned more about the cms I will contribute to the documentation & produce video how to's and general help on specific topics.
  • I am a university trained software engineer with post graduate qualifications in website development ,MySql, server management etc. Once again when I've completed my cms learning curve I will gladly help where I can with development where I am needed (being disabled I have plenty of time on my hands)
All I ask is patient while I get up to speed & any suggested reading that would assist.

Regards.

Jonathan

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 11:15 am
by Dabnis
Thanks for your comments reneh,
As this cms system is build around php & smarty I ask that people read why smarty came into existence, why it was developed and what development need it filled.
The answer: 'To separate website content from website presentation' taken from smarty website.
My argument being: That if this basic smarty principle above  was adhered to by module developers then code & accessibility compliance would remain in the realm of the website designers. After all many great php coders produce terrible websites and many great website designers create rubbish php code. This is where the power of smarty comes into play.

When I first looked at cms made simple it was the smarty technology that attracted me as I assumed that basic smarty priciples would be adhered to.
I can understand that many module developers may feel that my comments are criticisms of their work and a 'the cheek of the man being new to cms made simple etc'. So no hard feeling here. I just wanted to make some points made and in this instance; would it not be better for the cms system as a whole if the fundamental principles of smarty are adhered to (separate content from presentation). The alternative as it is now with cms made simple is that we are moving back to a situation that caused many problems for website development, problems that smarty was developed to solve.

Regards.

Jonathan 

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 2:57 pm
by tyman00
Unfortunately you are barking up the wrong tree. The core of CMS Made Simple is WIA/W3C compliant. It prides itself on that. That is one reason why I chose the system, it also makes it easy for me to ensure that the sites are compliant. If an add-on module puts out code that isn't compliant it is unfortunate but it isn't the fault of CMSMS it's the module. We cannot force the module developers to do anything (Didn't we have this discussion just last week?). It is 3rd party, it is like asking every third-party add-on for any application web or computer based to be compliant and follow the rules of what we think is right. We can only ensure that the modules installed by the core installation are valid, compliant and very accessible. The dev team has done a great job doing that. There were countless hours spent by many of our dev team ensuring that the new templates of 1.6 were valid and accessible.

My sandbox has over 4 dozen modules installed and I am not having many issues keeping them compliant. There are a few spitting out random code, however those are old modules. I have modified the php as necessary to make them compliant if I deem it necessary. The more popular and modern modules allow for full templating so it is up to the user to decide how compliant they wish to be.

In regards to the help. It could use some love, every project does. As mentioned before any attempts to make current documentation quickly become unuseful because of updates and we do not want to be putting out information that is misleading. We try to keep the important stuff current. While it is nice to have a manual that holds my hand while I am working on something I found that a very very high majority of the information we need can be found in the various resources for the project (forum, wiki, irc...).  Don't think that we haven't just written off documentation and sit around having grapes fed to us by minions and laugh while we watch people struggle. Doing documentation is one thing, doing it properly is another. We would rather have it done right instead of throwing out a bunch of half complete thoughts especially since the information really is available.

I await your volunteer help. As you can see we still have lots to do, just not enough man power to do it. ***tyman00 sings a Open Source Sing Song***

Please take a little more time to become familiar with the system and with the more popular modules that are modern and up to date. It is completely unfair and insulting to those that have poured hundreds of donated man-hours into improving this system for the benefit of the general public often with few thanks and many demands and unreasonable demands. I for one feel it immature and narrow minded to use a system for 5 days then log into their public forum and trash the work of these people when the majority of it is either not true or is very slanted and biased. We don't mind constructive-criticism... it help keeps the product new and fresh... but it needs to be just that: constructive :)

Re: Code (X/HTML) compliance to w3c & accessibility

Posted: Tue Jun 30, 2009 8:52 pm
by Dabnis
Hi tyman00,
Let me start by saying that I have never intentionally trashed anybodies work. As you will read; my points were directed towards 'general' module development & no one person or group of people.
Anyway I'm not an argumentative type and as such describing my 'initial reservations' would serve little point other than to send this thread circular with no meaningful outcome.

I accept that php code can be changed to meet conformity, but the term module {modular} along with guidance for updating ones modules would make either the process of modifying the code or installing updates pointless (Can you see what mean here?).
Having checked my posts, I have not suggested anywhere that the core of the cms is at fault for any compliance issues. In deed I state 'modules' quite clearly.
I may have only used the system for 5 days, but I have been developing php/smarty code since the late 90's (software eng since 1972 ) as well as being involved in a number of open source projects and based on my experience I still maintain (as a suggestion) that module developers would be best advised to adhere to some of the fundamentals of smarty. Keep content & presentation separate (as do the majority of developers who use smarty).
I agree with you entirely with regards to the documentation, however my suggestion was that in recent times the availability of documentation & how to's appear to be high on the list of reasons why users opt for the systems that they choose and as such maybe documentation should have a slightly higher profile. As an example 'SilverStripe' is a monster of a project that has poor performance and in places is far to complex when compared to cms made simple. Yet their take up user rate is almost exponential and documentation has been identified as one of the main reasons.
To all those who I may have offended you have a personal apology from me. I must agree that having read my first post there may be a couple of comments that were a little un-called for.
However in general I am trying to offer suggestions based on more than 35 years of software development.
One final point!  you write that I 'said something that is not true' it would be appreciated if you could advise me of what it is that I have posted that is not true as if it is the case then I will both apologize and retract.

Anyway I hope this thread has at least raised some discussion on the issues quoted.

Regards
Jonathan