For why my tables appear like the donkey?


So i wrote up my post on the results of the votes for new C# features and I tested out what the post would look like in a few browsers. I was pretty surprised to see how different the results were. I ended up with the table looking like this in IE:

Table in IE

Like this in FireFox:

Table in FireFox

And like this in Safari:

Table in Safari

And like this in Links:

+------------------------------------------------------------------------------------------------------------------------------+                 
| Feature                                                      Votes | Feature                                           Votes |                 
|--------------------------------------------------------------------+---------------------------------------------------------|                 
| Edit&Continue                                                   31 | Better constraints for generics                      10 |                 
| Better support for nesting other languages in C#                23 | Warnings for certain goto behavior                    8 |                 
| Better control over all code generation.                        23 | Better syntax for casting                             8 |                 
| handling of null events                                         22 | Better mock object support                            8 |                 
| Tuples/Generic lists of variable length                         22 | Better thread debugging                               8 |                 
| Covariant return types                                          20 | Delegates on properties                               7 |                 
| Expose the compiler with a managed API                          19 | Generate field/property/constructor/class/etc.        7 |                 
| intellisense for indexers/conversions                           18 | Fix up usings                                         7 |                 
| tell you when you're using a disposable type unsafely           18 | VI mode                                               6 |                 
| Non-null types                                                  17 | Functions in module scope/Top level functions         6 |                 
| C#=Vb                                                           16 | Better MSDN documentation                             6 |                 
| Error correction/spell checking                                 16 | More flexible color schemes                           6 |                 
| Private backing store for properties                            16 | Better XML serializer                                 6 |                 
| Automatic constructor stub generation:                          15 | Better support for chords/keybindings                 6 |                 
| Pre/postconditions                                              15 | User filtered catch handlers                          6 |                 
| Static import of classes                                        14 | Method scoped variables                               6 |                 
| support for checking enum values                                14 | VS macros in C#                                       5 |                 
| const support                                                   14 | Find code duplication                                 5 |                 
| Support for mixins                                              13 | Read/Edit mode                                        5 |                 
| Virtual operators/operators on interfaces/better operators      13 | IntPtr operators                                      5 |                 
| Nicer syntax for anonymous delegates                            13 | API For accesing the profiler from managed code       5 |                 
| Expose the refactoring engine                                   12 | No regions on interface implementation                5 |                 
| inlined array syntax                                            12 | Warnings for implicit vs explicit implementation      3 |                 
| Managed Add-ins                                                 12 | Fix up doc comments when doing a refactoring          3 |                 
| special constructs for asynchronous operation                   12 | Method virtual by default                             3 |                 
| Collapse all code comments                                      11 | Support for method groups in doc comments             3 |                 
| C-omega support                                                 11 | Expose formatting/colorization engine                 3 |                 
| Generic properties                                              11 | Obfuscator Api                                        3 |                 
| Attributes on local variables and code blocks                   11 | Simplified iterator syntax                            3 |                 
| Better control over completion list (sorting and filtering)     11 | Schema for XML comments                               3 |                 
| First class generics                                            11 | Global exception tracking                             2 |                 
| Better incremental find                                         10 | More flexible interface implementation support        2 |                 
| Better constraints for generics                                 10 | Aspects                                               2 |                 
+------------------------------------------------------------------------------------------------------------------------------+

I was basing the code off of the w3c page on tables. However, of all the renderings, only IE and Links display it like I expected. FireFox doesn’t right align the values in the vote columns, and safari borders everything not just through column groups. I also tested on Lynx, which didn’t look quite right, and on Omniweb which ended up looking like Safari.

Have I screwed something up royally? I know presentation of the table is up to the final application. However, I’m curious why certain features, like alignment and borders seem to be flat out ignored or treated in different ways. Are html elements like TABLEs something that there is that much disagreement over? Which browser is doing this correctly (or all they all doing it correctly, and that’s just life?).


Comments (16)

  1. Wallym says:

    Its been a long time since I have heard anyone talk about Links. 🙂

    Wally

  2. Wally: Links is one of my favorite browsers ever. It’s the browser that’s most likely to be able to handle extracting data from a site that is causing other browsers to choke on 🙂

  3. josh says:

    Apparenlt Mozilla/FireFox doesn’t support col align because nobody’s reconciled it with css2: http://bugzilla.mozilla.org/show_bug.cgi?id=915#c162

  4. Curt Hagenlocher says:

    I’ve never heard of this Links program y’all are talking about. Does it have anything to do with Lynx?

  5. Josh: Wow. 6 Years and 101 votes on this. It was quite an interesting read. I was kind of disturbed when i read this:

    "The number of votes on this bug will not affect whether this bug is fixed or not. Nor will high numbers of duplicates. We know it is a major bug, that’s why so many people have tried to fix it. The only thing that can affect that is someone volunteering to fix it and doing so in a way that does not negatively effect page load performance, memory footprint, or our existing CSS compliance."

    It seems like this is a bug in HTML4 compliance. It also seems like it could be supported without compromising CSS compliance as CSS1/2 cannot even describe what this col element is trying to do. I find this very interesting. CSS is supposed to describe the presentation of an object (in this case a table), but it doesn’t seem to be able to define a presentation style for a column of that table… bizarre 🙂

    So it seems odd that perf is trumping here. I didn’t realize that performance was higher on the feature list than HTML4 compliance. That’s very interesting and I will have to remember that.

  6. DrPizza says:

    gg w3c. yet again.

    fucking idiots.

    Frankly, I’d go for HTML over CSS, as doing HTML properly is more fundamental than doing CSS properly for a web browser.

    But, you know, it’d be nice if the standards weren’t retarded.

  7. Lonnie McCullough says:

    I’d really like a shortcut for adding using statements to the top of my source file without changing the line I’m working on. Just add it for me and let me continue working right where I’m at. I’m sure I could do this with a macro of some sort but it’d be nice if I didn’t have to.

  8. Lonnie: I’m not sure why you posted that here. However, I added that feature to C# 2005. If you write something like:

    void Foo() {

    XmlReader //<– cursor at the end of XmlReader

    Then you’ll have a smart tag appear. If you hover your mouse over it (or hit ctrl-<dot>) you’ll get the options:

    "using System.Xml;" and

    "System.Xml.XmlReader"

    The first option will add the using to the closest block of using statements we can find. The second will fully qualify the name for you.

    Does that help?

  9. Dr. Pizza: What’s amazing is that this has been known for years, and never resolved. It just seems like someone should be able o make a decision instead of waffling on it for ages and ages.

  10. DrPizza says:

    That would require w3c to construct a standard that actually reflected the needs of the people using the standards.

    I don’t know why they /won’t/ do this, given that they’re made up of industry representatives, but it’s perfectly clear that they /don’t/ do it.

    Only a retarded monkey could have invented the CSS box model, for example.

    I still don’t see why mozilla doesn’t let HTML trump CSS. The HTML behaviour is intuitively correct (it makes columns useful), and as I said before, HTML is more important than CSS.

  11. Dr. Pizza: What’s wrong with teh CSS box model?

  12. Pesho says:

    Your site is realy very interesting. http://www.bignews.com