#16812 closed defect (fixed)
Adapt Dojo Mobile iphone theme for iOS6
Reported by: | Eric Durocher | Owned by: | Sebastien Brunot |
---|---|---|---|
Priority: | undecided | Milestone: | 1.9.2 |
Component: | DojoX Mobile | Version: | 1.8.3 |
Keywords: | Cc: | Patrick Ruzand, dg | |
Blocked By: | Blocking: |
Description
There are some slight changes in the native system iOS6 GUI regarding gradients, etc. We should adapt the Dojo Mobile "iphone" theme accordingly, adding variants in the existing theme based on a .dj_ios6 CSS class that will be set by the dojox/mobile code.
Attachments (2)
Change History (24)
comment:1 Changed 9 years ago by
Owner: | changed from Eric Durocher to Sebastien Brunot |
---|---|
Status: | new → assigned |
comment:2 Changed 9 years ago by
Milestone: | tbd → 1.9 |
---|
Changed 9 years ago by
Attachment: | themeIOS6.patch added |
---|
comment:3 Changed 9 years ago by
This is the same as http://trac.dojotoolkit.org/ticket/16836 (the latter should be closed as a duplicate).
comment:5 Changed 9 years ago by
Adding a second patch (to complement the first one) in order not to display the vertical stripes on the body background by default (this way, the user don't have to specify background-image: none for setting a plain background color on iOS6). To display the vertical stripes on iOS6, the user now have to explicitely set class="mblIOS6Stripes" on the body of the page.
Changed 9 years ago by
Attachment: | themeIOS6-2.patch added |
---|
you now have to opt-in for vertical stripes on iOS6 theme, using class mblIOS6Stripes on the body element (IBM CCLA)
comment:10 Changed 9 years ago by
Milestone: | 1.9 |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
comment:11 Changed 9 years ago by
Reopened because this needs to be revisited in the light of iOS 7. In dojox/mobile/uacss.js we add to html.className a CSS class as follows: has("ios") >= 6 ? "dj_ios6" : "" which means the body gets "dj_ios6" also on iOS 7. This is visible to users and is confusing when running on iOS 7. Revisiting it involves deciding whether all usages of the class "dj_ios6" in our ios theme should be restricted to 6.x, or some of these occurrences would better be kept for iOS 7 too.
comment:12 Changed 9 years ago by
I suggest we close this issue until we have a proper iOS7 theme, which will resolve this.
comment:13 Changed 9 years ago by
... unless users are REALLY annoyed with this, in which case I suggest that we add has("ios") < 7 in the test.
comment:14 Changed 9 years ago by
Besides being used for deciding about the background stripes, it is also used for instance like that:
.dj_ios6 .mblListItem { /* enables hardware acc. to avoid flickering issues - see #16956 */ -webkit-perspective: 1000; }
Which means that there is a need to test whether your proposed change wouldn't produce a regression on iOS 7. There might be other similar cases, hence my suggestion to revisit the occurrences of dj_ios6 in the theme.
Also, while the background stripes should clearly be restricted to iOS 6.x (since they go against the iOS 7 look), we also use dj_ios6 for deciding for instance about borders in mblHeading etc. In such cases, the question is whether reverting our ios theme to its iOS 5 behavior would make things worse or better on iOS 7.
comment:15 Changed 9 years ago by
That's exactly the point of my first comment: dj_ios6 means that we are applying the ios6 theme when using the ios theme on iOS7. That might be disturbing for the user, but that is exactly what is happening...
So let's wait until we have a proper iOS7 theme to change anything, and close this issue.
comment:16 Changed 9 years ago by
Cc: | Patrick Ruzand dg added |
---|
Two (related) comments:
- this class is positioned by uacss which its name is explicit about the fact it creates CSS classes for user agents (UA). Here we are not doing this we are creating a CSS class for a theme not to match a particular user agent. So the place where we do that is wrong.
- this class is public and visible to anyone. So users wonder why they get dj_ios6 on ... ios7. Your explanation makes sense but this not obvious to the user. At the very least the doc of dojox/mobile/uacss should mention this.
I agree we can keep it like that in the code for now in particular as this could cause incompatibilities but we need:
- to update the doc
- to rethink about that for next versions
comment:17 Changed 9 years ago by
Fair enough: I agree that the doc should have been updated the first time. We also have the option to change the name dj_ios6 in dj_modernios or something similar WITHOUT a version number in it (and we'll still have to updat ethe doc) ?
comment:18 Changed 9 years ago by
I've created pull request https://github.com/dojo/dojox/pull/44 to fix the naming scheme.
comment:20 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:22 Changed 9 years ago by
Milestone: | → 1.9.2 |
---|
add native iOS6 look to the iphone theme (IBM CCLA).