2.1.135 [W3C-HTML51] Section 10.3.9 Tables

V0353: When the align attribute is set, the default styles do not set the margin properties

The specification states:

 10.3.9 Tables
     ...
     table[align=center i] { margin-left: auto; margin-right: auto; }
  
 10.3.12 The hr element
     ...
     hr[align=left] { margin-left: 0; margin-right: auto; }
     hr[align=right] { margin-left: auto; margin-right: 0; }
     hr[align=center] { margin-left: auto; margin-right: auto; }

EdgeHTML Mode

When the align attribute is set, the default styles do not set the margin properties.

V0429: Background images on table elements are aligned based on the table element, not relative to their respectively applied element

The specification states:

 10.3.9 Tables
     ...
     When a table, thead, tbody, tfoot, tr, td, or th element has a background attribute 
     set to a non-empty value, the new value is expected to be parsed relative to the 
     element’s node document, and if this is successful, the user agent is expected to 
     treat the attribute as a presentational hint setting the element’s background-image 
     property to the resulting URL string.

EdgeHTML Mode

Background images on table elements are aligned based on the table element, not relative to their respectively applied element.

V0345: The default styles for the table element's frame and rules attributes are not properly defined

The specification states:

 10.3.9 Tables
     ...
     table[rules=none i], table[rules=groups i], table[rules=rows i],
     table[rules=cols i], table[rules=all i] {
         border-style: hidden;
         border-collapse: collapse;
     }
     table[border] { border-style: outset; } /* only if border is not equivalent to zero */
     table[frame=void i] { border-style: hidden; }
     table[frame=above i] { border-style: outset hidden hidden hidden; }
     table[frame=below i] { border-style: hidden hidden outset hidden; }
     table[frame=hsides i] { border-style: outset hidden outset hidden; }
     table[frame=lhs i] { border-style: hidden hidden hidden outset; }
     table[frame=rhs i] { border-style: hidden outset hidden hidden; }
     table[frame=vsides i] { border-style: hidden outset; }
     table[frame=box i], table[frame=border i] { border-style: outset; }
     
     table[border] > tr > td, table[border] > tr > th,
     table[border] > thead > tr > td, table[border] > thead > tr > th,
     table[border] > tbody > tr > td, table[border] > tbody > tr > th,
     table[border] > tfoot > tr > td, table[border] > tfoot > tr > th {
         /* only if border is not equivalent to zero */
         border-width: 1px;
         border-style: inset;
     }
     table[rules=none i] > tr > td, table[rules=none i] > tr > th,
     table[rules=none i] > thead > tr > td, table[rules=none i] > thead > tr > th,
     table[rules=none i] > tbody > tr > td, table[rules=none i] > tbody > tr > th,
     table[rules=none i] > tfoot > tr > td, table[rules=none i] > tfoot > tr > th,
     table[rules=groups i] > tr > td, table[rules=groups i] > tr > th,
     table[rules=groups i] > thead > tr > td, table[rules=groups i] > thead > tr > th,
     table[rules=groups i] > tbody > tr > td, table[rules=groups i] > tbody > tr > th,
     table[rules=groups i] > tfoot > tr > td, table[rules=groups i] > tfoot > tr > th,
     table[rules=rows i] > tr > td, table[rules=rows i] > tr > th,
     table[rules=rows i] > thead > tr > td, table[rules=rows i] > thead > tr > th,
     table[rules=rows i] > tbody > tr > td, table[rules=rows i] > tbody > tr > th,
     table[rules=rows i] > tfoot > tr > td, table[rules=rows i] > tfoot > tr > th {
         border-width: 1px;
         border-style: none;
     }
     table[rules=cols i] > tr > td, table[rules=cols i] > tr > th,
     table[rules=cols i] > thead > tr > td, table[rules=cols i] > thead > tr > th,
     table[rules=cols i] > tbody > tr > td, table[rules=cols i] > tbody > tr > th,
     table[rules=cols i] > tfoot > tr > td, table[rules=cols i] > tfoot > tr > th {
         border-width: 1px;
         border-style: none solid;
     }
     table[rules=all i] > tr > td, table[rules=all i] > tr > th,
     table[rules=all i] > thead > tr > td, table[rules=all i] > thead > tr > th,
     table[rules=all i] > tbody > tr > td, table[rules=all i] > tbody > tr > th,
     table[rules=all i] > tfoot > tr > td, table[rules=all i] > tfoot > tr > th {
         border-width: 1px;
         border-style: solid;
     }
     
     table[rules=groups i] > colgroup {
         border-left-width: 1px;
         border-left-style: solid;
         border-right-width: 1px;
         border-right-style: solid;
     }
     table[rules=groups i] > thead,
     table[rules=groups i] > tbody,
     table[rules=groups i] > tfoot {
         border-top-width: 1px;
         border-top-style: solid;
         border-bottom-width: 1px;
         border-bottom-style: solid;
     }
     
     table[rules=rows i] > tr, table[rules=rows i] > thead > tr,
     table[rules=rows i] > tbody > tr, table[rules=rows i] > tfoot > tr {
         border-top-width: 1px;
         border-top-style: solid;
         border-bottom-width: 1px;
         border-bottom-style: solid;
     }

EdgeHTML Mode

The default styles for the table element's frame and rules attributes are not properly defined because the case-insensitive matching within the CSS attribute selector is not supported.

V0343: The table, td, and th elements do not set the correct border colors in the default styles

The specification states:

 10.3.9 Tables
     ...
     table, td, th { border-color: gray; }
     thead, tbody, tfoot, tr { border-color: inherit; }
     table[rules=none i], table[rules=groups i], table[rules=rows i],
     table[rules=cols i], table[rules=all i], table[frame=void i],
     table[frame=above i], table[frame=below i], table[frame=hsides i],
     table[frame=lhs i], table[frame=rhs i], table[frame=vsides i],
     table[frame=box i], table[frame=border i],
     table[rules=none i] > tr > td, table[rules=none i] > tr > th,
     table[rules=groups i] > tr > td, table[rules=groups i] > tr > th,
     table[rules=rows i] > tr > td, table[rules=rows i] > tr > th,
     table[rules=cols i] > tr > td, table[rules=cols i] > tr > th,
     table[rules=all i] > tr > td, table[rules=all i] > tr > th,
     table[rules=none i] > thead > tr > td, table[rules=none i] > thead > tr > th,
     table[rules=groups i] > thead > tr > td, table[rules=groups i] > thead > tr > th,
     table[rules=rows i] > thead > tr > td, table[rules=rows i] > thead > tr > th,
     table[rules=cols i] > thead > tr > td, table[rules=cols i] > thead > tr > th,
     table[rules=all i] > thead > tr > td, table[rules=all i] > thead > tr > th,
     table[rules=none i] > tbody > tr > td, table[rules=none i] > tbody > tr > th,
     table[rules=groups i] > tbody > tr > td, table[rules=groups i] > tbody > tr > th,
     table[rules=rows i] > tbody > tr > td, table[rules=rows i] > tbody > tr > th,
     table[rules=cols i] > tbody > tr > td, table[rules=cols i] > tbody > tr > th,
     table[rules=all i] > tbody > tr > td, table[rules=all i] > tbody > tr > th,
     table[rules=none i] > tfoot > tr > td, table[rules=none i] > tfoot > tr > th,
     table[rules=groups i] > tfoot > tr > td, table[rules=groups i] > tfoot > tr > th,
     table[rules=rows i] > tfoot > tr > td, table[rules=rows i] > tfoot > tr > th,
     table[rules=cols i] > tfoot > tr > td, table[rules=cols i] > tfoot > tr > th,
     table[rules=all i] > tfoot > tr > td, table[rules=all i] > tfoot > tr > th {
         border-color: black;
     }

EdgeHTML Mode

The table, td, and th elements do not set the border colors in the default styles. Any border colors that are set are defaulted to gray.

V0342: The table element does not set the text-indent: initial default style

The specification states:

 10.3.9 Tables
     ...
     table {
         box-sizing: border-box;
         border-spacing: 2px;
         border-collapse: separate;
         text-indent: initial;
     }

EdgeHTML Mode

The table element does not set the text-indent: initial default style.