: 4399 | 106118 | 11884

Make XPages generate better html code 
Use this IdeaSpace to post ideas about Domino Server.

: 37
: 39
: 2
: Domino Server / Web application server
: clean html code, Accessibility, WAI, Progressive enhancement
: Jan Schulz4378 24 Jun 2009
:
: / Email
XPages code is a mess, it does not handle situation, where browserfeatures are missing and it is not accessible by default. This might be acceptable for internal websites, where you can control the browser and users, but it is not for customer facing websites. This should be fixed.
 
One of the problems is, that it is unuseable without JavaScript enabled: try opening a section on the iamlug FAQ page or the information at the end of the Xpages wiki pages (see also Progressive enhancement in web design for how it should be done: in this examples the <a> element should contain a proper link to a page with opened sections).
 
It's als not accessible (try tabbing to the XPages example: you don't reach all links!), which im my opinion is a requirement nowadays in public websites. Xpages sites should comply to this per default.
 
Another thing is, that the code is a bloated and should be cleaner and smaller, so that it will load faster (and cheaper: less bandwidth used).
 



1) Paul Hudson1005 (24 Jun 2009)
I pointed out these issues at Lotusphere. There's no structure to the html and an over-reliance on javascript. Switching off CSS and Javascript means that the pages look a mess and don't work. You can create accessible XPages but you have to use the code view to start to add back the missing items (like a links, marking up navigations as lists etc).
2) Jan Schulz4378 (24 Jun 2009)
But that's the problem: it's hard to do the right thing with XPages as the default is this mess, but it should be the other way round: make it easy to build proper modern and standard complying pages and hard to build a mess.
3) Mark Demicoli10094 (02 Jul 2009)
I really don't buy this "it shouldn't be JavaScript dependant" argument, this day and age.

Javascript is ubiquitous now! If you're building an application that needs to work on a 10 year old Nokia, write a separate interface.

There's a million things a user or company can do to sabotage their experience. Like unplugging their monitor. Should x-Pages have a special mode for when people unplug their monitors?

Am I right or am I 9/10th's right?

4) Jan Schulz4378 (04 Jul 2009)
Tell that google... Or screenreader (Wasn't there a law in some contries to make your websites accessible in certain circumstances?) There is a difference between using JS everywhere to enhance your browsing experience and leaving out a way to use it without JS.
5) Julian Buss225 (05 Jul 2009)
I do not see this as a priority:

1.) the HTML created by an XPage highly depends on what the developer does with the XPage. You code directly in the markup and fix many things if you want to.
You can even disable the automatic code generation and put out completely customized HTML if you like.

So, from my point of view things are not that bad.

2.) for a high volume public website I agree that it should work basically without JavaScript.
But that'a not what XPages are for. XPages are for building *applications*, not websites. And if a user wants to use an application, he needs Javascript and a modern browser.
With the same argument you could ask for support of Internet Explorer 5 or Lynx. Both wishes are out of the question.

3.) I agree that supporting Accessibility should be delivered in the near future.

4.) Passing the HTML validation test without error would be nice. But how important is that really? When all modern browsers (IE 7,8 / Mozilla, Webkit, Opera) work with a XPages application, what point is there really to have 100% valid HTML?

And, take for example this very ideajam page. How valid is that? It has 92 errors in the validation test. And how votes for "making ideajam 100% valid"?

Take a page from amazon.. I just validated amazon.de Homepage and it has 1635 errors.

Even google.de has 42 errors.

So again: how important is 100% valid HTML?
6) Henning Heinz180 (05 Jul 2009)
Any software (XPages or something else) should not generate worse code than I can do myself. Better code also is lowering your risk that new browser releases will break your site. I find it is a huge disadvantage that nearly every new browser release is causing major headaches for many IBM products like Quickr or Sametime.
7) Jan Schulz4378 (05 Jul 2009)
@Julian Buss: The Idea itself is not about standard complient (I let that out on purpose, as I know that this is a fragile argument), but I would argue, that standard compliant reduces your risk to blow up future browsers (see @6), makes the code easier to read, cleaner and smaller, and also accessible. Also, I don't see any reason to not do it in a framework: if you can do it as easily standard complient than not, why risk the non standard complient way? Why make it hard for people to do it properly?

Not every page needs to be standard complient, but xpages is not only not comliant by design, it goes a long way to discard any proper coding convention there is in modern web dev.

For the JS issue: xpages will be used in web pages (see this ideajam or the IamLug website) and people will complain if their pages will not get into google, because goole won't see the content. Again: why make it hard to be a good guy?

A Framewokr should make good code easy and not hard.
8) John Foldager620 (26 Nov 2010)
@Julian, I almost agree with you on everything.

However, I do not think that XPages are only for building applications. It is a really great way to create 100%-controlled HTML (or whatever) based websites as well. You just need to know how to disable all the Domino generated content ;o)

XPages + Dojo might be able to validate in the future when IBM fixes bugs here-and-there which is a great thing. IBM can work continously on fixing issues without us needed to do any changes to our XPages.

I would not rely on Domino for rendering content that is to be delivered to a public website, however, I would rely on it for 'internal' applications.










:
:

Welcome to IdeaJam™


You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>


3
Add server and database as optional parameters for @GetProfileField and @SetProfileField
8
Have an option to copy an URL from an e-mail (or other)
-1
System wide Web Query Save
0
Design Element PostSave event
56
Please update Domino to fully support TLS (SSL v3.1)
4
Integrated ICS OneUI Editor for Designer
6
Agent context menu in editor tab eg. "Run Agent"
55
When deleting user, delete archive & roaming files as well as mail file
12
Set properties for all selected Forms







IdeaJam developed by