silverstripe / cwp-starter-theme Goto Github PK
View Code? Open in Web Editor NEWHighly accessible Bootstrap 4 theme which you can use as a starter for your CWP project.
License: BSD 3-Clause "New" or "Revised" License
Highly accessible Bootstrap 4 theme which you can use as a starter for your CWP project.
License: BSD 3-Clause "New" or "Revised" License
It implements the entire field, which is what the Field
call is for. This results in subclasses (not to be confused with children) never having a chance to render themselves correctly.
e.g. SelectionGroup is supposed to render a list, as evident by the SelectionGroup template. However, when called in a template it will (as with all form fields) render in it's _holder
template, ultimately resulting in no ul
or li
elements ever being rendered (by nature of Field
being cut out of the holder template).
This in turn causes unit test failures in SilverStripe\Forms\Tests\SelectionGroupTest
.
Starter 3.0.x-dev
Main landmark must not be contained in another landmark
Issue description: Ensures the main landmark is at top level
Impact: moderate
Element location:
.blog-main
Element source:<div class="blog-main" role="main">
To solve this violation, you need to fix the following:
The main landmark is contained in another landmark.
Matching second issue from the Axe checker:
Issue description: Ensures the document has only one main landmark and each iframe in the page has at most one main landmark
Impact: moderate
Element location:
html
Element source:<html class="no-js" lang="en-NZ">
To solve this violation, you need to fix the following: Document has more than one main landmarkRelated nodes:
#main
,.blog-main
<form class="form-inline d-block d-md-none" action="/search/SearchForm">
This should be using a template variable for the action.
The four SilverStripe supported block types:
This change would not present any visual difference from the current state, but would allow developers to implement fluid containers in individual page layouts (by virtue of natural inheritance) if required.
Currently a page layout inherits a fixed container width, so to implement a fluid container you need to adjust it in the page template and then implement fixed containers in each page layout as well - adds duplication.
Fluid container (Bootstrap): class="container-fluid"
Fixed container (Bootstrap): class="container"
Not sure if this is related to the theme or laravel mix.
When inspecting elements in chrome the styles tab will display the styles for an element with a link to the scss file where these styles are located. However these references are completely wrong.
For example when I inspect the HTML element:
Clicking the link takes me to the file and line suggested but there is no HTML element defined at this position:
Designs:
A/Cs:
We should add some behat tests for the customised functionality in the theme. For example:
form.js
)Starter 3.0.x-dev
The sidebar should line up with the top of the content, not the list of blog posts.
We should also make the page title and breadcrumbs full width.
Many of the core SilverStripe modules with notable frontend assets now have npm linting and build dist file comparisons in Travis to ensure that (A) new changes lint correctly, and (B) that the dist files are correctly rebuilt.
We should add this as a single build step for the CWP themes.
Just noticed the starter theme jumbotron colour has been changed through the banner block commit here:
Could we please revert this and add the banner block styles elsewhere? 🙂
Form fields with (validation) errors on them highlight with a red border and error message in the SilverStripe 3.x compatible versions.
In the SilverStripe 4.x release line however the red is gone (both text and input border), and the error messages blend in with the background and are easily missed.
With CWP 2.1.0-beta1 it includes the new elemental block modules:
silverstripe/elemental-bannerblock
silverstripe/elemental-fileblock
This means the custom template for banner blocks is not being applied in 2.1.0
The directory names need to be updated (namespacing) but should we create a copy or rename the existing and add composer constraints? If constraints, which ones? The elemental modules are not required as part of cwp/installer
but they are part of kitchen sink...
Note that it looks fine without the template, the template just adds some accessibility attributes.
This causes:
[Emergency] Uncaught InvalidArgumentException: The css file doesn't exist. Please check if the blog.css exists in any context or search for themedCSS references calling this file in your templates.
(Death).
In the "Home" page type, under the "Features" tab, the "Category icon" drop-down field does not work and should be removed as it is not required in the themes.
Note: This is only an issue in the Starter theme, not Watea.
cc @clarkepaul
Text field with more than one row render as textarea, but do not have supporting styles in starter theme.
Also the label is being converted to XML twice (related: silverstripe/silverstripe-userforms#740)
There's a great list of keyboard accessibility requirements I found on StackOverflow: https://stackoverflow.com/a/41445832/3163506
Neither Bootstrap 4(.3)'s dropdown Javascript or our own fulfils this spec. I experimented with enhancing bootstraps implementation in #78 and it was too much work for that issue.
When the footer only has social links and no 'Footer Holder' with pages the footer breaks (see below).
(Migrated from GitLab cc @sachajudd)
All starter theme versions.
Axe report:
Aside must not be contained in another landmark. Ensures the complementary landmark or aside is at top level. [Fix the following:] The complementary landmark is contained in another landmark.
Element location
.footer-social-links
Element source
<div class="footer-nav-links footer-social-links col-auto" role="complementary">
To follow in line with SilverStripe 4 modules, we could perhaps switch this and the Wātea theme to use Webpack directly (possibly with the silverstripe/webpack-config module too) instead of using the Laravel Mix wrapper around it.
Up for discussion - Laravel Mix is pretty easy to use, so maybe it's not worth it.
With silverstripe/recipe-content-blocks
installed the included banner styling on a blocks page does not display correctly when:
Notes:
Starter 3.0.x-dev with IE10
IE10 does not support HTML5 date picker components, which we've started to use in the frontend for filtering CWP events.
It renders as a text field.
We may need to add a jQuery datepicker shim or something for IE10 only.
Can be reproduced with the CWP demo site content on /en_NZ/event-holder
and use the "Filter by date" form.
I've reproduced this on starter, Wātea, and simple themes and I'm not sure which one it is appropriate to raise an issue on.
In SilverStripe 3, when you enable additional authenticators the Security/login form would present you with a default login and a tabbed interface of alternatives. When you enable multiple authenticators on a SilverStripe 4 site (such as Active Directory, BootstrapMFA, or any of its derivatives), you're presented with an unordered list of authenticators with no way to visually tell them apart. A developer can customise it, but it would be nice to present a nicer default view
Starter 3.0.x-dev
Axe plugin error:
Element has insufficient color contrast of 4.44 (foreground color: #6c757d, background color: #f8f9fa, font size: 12.0pt, font weight: normal). Expected contrast ratio of 4.5:1
I'm pretty sure this is to do with our custom validation JS in this module. This could be a problem with userforms though.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.