Closed Bug 491384 Opened 15 years ago Closed 10 years ago

MathML: rendering of mtable with a columnalign attribute is sometimes incorrect

Categories

(Core :: MathML, defect, P4)

defect

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: cop3252, Assigned: qheaden)

References

()

Details

Attachments

(4 files)

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.1b5pre) Gecko/20090504 Shiretoko/3.5b5pre
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.1b5pre) Gecko/20090504 Shiretoko/3.5b5pre

Sometime when the "Differentiable Manifold" is displayed at
http://eyeasme.com/Joe/MathML/browser_test_bug.html
the column align attribute the the mtable is not honored, instead
of left aligning the default right alignment is done. 
(See attached picture 1).
Note that when the cursor is moved into the column that it
reformats itself and properly left alignes.

Reproducible: Sometimes

Steps to Reproduce:
1. go to http://eyeasme.com/Joe/MathML/browser_test_bug.html
2. look at "Differentiable Manifold" example
3. sometimes the column alignment is not left (as wanted) but center 
Actual Results:  
Sometimes (see attached Picture 1) the generated MathML formula is not
properly column aligning to the left (as wanted) but is centering.
NOTE: when cursor is moved into the generated MathML column, that the 
formula then re-aligns itself and becomes left column aligned.

Expected Results:  
The mtable attribute of columnalign should be honored.

Sorry for the large example, but the bug I want to show does NOT show 
itself for small examples (i.e isolating the "Differentiable Manifold" example row).  There is some kind of interaction among the examples that triggers the bug.  The strange thing is that moving the mouse to hover over the MathML column of the example fixes it.  This is bad since the page should be static.
I have attached an image of the example displayed incorrectly and then displayed
correctly.  The incorrectly displayed image should never occur.
Note bad alignment in the third column example
Attached image Correct alignment
Correct alignment, this occured after moving mouse into the third column.
Component: General → MathML
OS: Mac OS X → All
Product: Firefox → Core
QA Contact: general → mathml
Hardware: PowerPC → All
Version: unspecified → Trunk
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: polish
Keywords: polish
When filling out bug 504324, I noticed that the CSS property "text-decoration" did not completely show until I clicked in the table cell.  
(i.e the MathML equation changed its look (to what it should be) when the table cell it was in, was clicked.  It appears that all the CSS code is not being applied when a page is displayed.
Blocks: mathml-2
The example given in comment #0 is no longer is applicable .  

The problem is that the columnalign attribute of mtable is not working
in Firefox.  The work around is to use CSS to set 'text-align' to the 
columnalign value desired.
(In reply to comment #4)
> The example given in comment #0 is no longer is applicable .  
> 
> The problem is that the columnalign attribute of mtable is not working
> in Firefox.  The work around is to use CSS to set 'text-align' to the 
> columnalign value desired.

I'm not sure to understand. The columnalign attribute seems to be implemented (looking to the source code) and works for me. I try to produce a reduced testcase but can not see the bug. Can you give a testcase that shows the incorrect behaviour?
No longer blocks: mathml-2
Attached image Image of the bug
Notice the bug in the third column.
Should be column aligned left.
I have updated example (look at third column of "Differentiable Manifold").  
(click on the column to see the code (or just look at code with show Source)

The problem does not show for a small test page like so

https://eyeasme.com/Joe/MathML/browser_test_bug2.html

But does show for a bigger test page like so

https://eyeasme.com/Joe/MathML/browser_test_bug.html

I have included an image of the bug in progress.
The bug goes away (I.E. the formula moves to proper configuration)
when the mouse enters the formula (same row and column).
Attached file Testcase
While writing some MathML, I've just met the bug again (this time, the bug disappears when you zoom). Note that the link to a css seems necessary for the bug to happen (but you can use an empty css stylesheet).
Summary: MathML does not honor columnalign attribute of mtable element → MathML: rendering of mtable with a columnalign attribute is sometimes incorrect
It seems zooming in and out can solve this problem. Still annoying, though.
MathJax users have reported issues which looks related to this bug:

http://groups.google.com/group/mathjax-users/browse_thread/thread/bbf0c78a19bc565f
http://groups.google.com/group/mathjax-users/browse_thread/thread/92a71671b9e2417b

I think fixing bug 69409 (or at least to map columnalign to style) is likely to solve this bug.
Depends on: 731667
My example code has bit-rotted and should be ignored.
  
My work around for the bug is to set the CSS style "text-align" in the mtd tag as well as set the "columnalign" in the table. 
EX:
<mtable columnalign="left">
  <mtr>
     <mtd style="text-align: left"> <!--hack for this bug is here -->
(In reply to Frédéric Wang from comment #8)
> Created attachment 427195 [details]
> Testcase
> 
> While writing some MathML, I've just met the bug again (this time, the bug
> disappears when you zoom). Note that the link to a css seems necessary for
> the bug to happen (but you can use an empty css stylesheet).

This testcase does not seem to work any more.
(In reply to Frédéric Wang from comment #12)
> This testcase does not seem to work any more.

Actually, the testcase does not seem to exhibit the bug with a nightly build but it does with a release version.

Here is another page that demonstrates the issue (see alignments in theorem 9.2 or lemma 9.4):
http://www.maths-informatique-jeux.com/international/hsp/web/appendix_B.php#id8.2.
For a more reliable testcase, see attachment 633989 [details] (MathML trees created dynamically by MathJax).
Mass change: setting priority to 2 for bugs that would be nice fix if Gecko's MathML support is enabled by default in MathJax but that are not in my opinion strictly required or for which a workaround could be written in the MathJax code.
Priority: -- → P2
Priority: P2 → P4
Fixed by bug 731667.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
@eric: do you remember why you set the "dev-doc-needed" flag? 

I think the columnalign attribute is already claimed to be supported:

https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute

It's just that it was (incorrectly) ignored in some random cases.
Flags: needinfo?(eshepherd)
(In reply to Frédéric Wang (:fredw) from comment #18)
> @eric: do you remember why you set the "dev-doc-needed" flag? 
> 
> I think the columnalign attribute is already claimed to be supported:
> 
> https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute
> 
> It's just that it was (incorrectly) ignored in some random cases.

Yeah, this doesn't need docs. Not sure why I flagged it. Probably misread it during a pass through a list of new bugs once.
Flags: needinfo?(eshepherd)
Keywords: dev-doc-needed
Assignee: nobody → qheaden
You need to log in before you can comment on or make changes to this bug.